react-native-gesture-handler 2.33.0 → 2.33.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 (100) hide show
  1. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +3 -0
  2. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +2 -0
  3. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +9 -3
  4. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +5 -8
  5. package/android/src/main/java/com/swmansion/gesturehandler/core/HoverGestureHandler.kt +1 -0
  6. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +2 -1
  7. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +6 -0
  8. package/apple/RNGestureHandler.mm +15 -3
  9. package/apple/RNGestureHandlerButtonComponentView.mm +6 -0
  10. package/lib/commonjs/handlers/createHandler.js +1 -1
  11. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  12. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +10 -0
  13. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  14. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +8 -1
  15. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  16. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +5 -1
  17. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  18. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +7 -0
  19. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  20. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +22 -3
  21. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  22. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +35 -6
  23. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  24. package/lib/commonjs/handlers/gestures/gesture.js +8 -0
  25. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  26. package/lib/commonjs/handlers/gestures/gestureComposition.js +14 -2
  27. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  28. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +23 -0
  29. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  30. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +11 -2
  31. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +5 -1
  32. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  33. package/lib/commonjs/web/tools/KeyboardEventManager.js +17 -12
  34. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  35. package/lib/commonjs/web/tools/WheelEventManager.js +15 -5
  36. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  37. package/lib/module/handlers/createHandler.js +1 -1
  38. package/lib/module/handlers/createHandler.js.map +1 -1
  39. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +12 -2
  40. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  41. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +9 -2
  42. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  43. package/lib/module/handlers/gestures/GestureDetector/index.js +5 -1
  44. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  45. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +8 -1
  46. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  47. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +22 -3
  48. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  49. package/lib/module/handlers/gestures/GestureDetector/utils.js +34 -6
  50. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  51. package/lib/module/handlers/gestures/gesture.js +8 -0
  52. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  53. package/lib/module/handlers/gestures/gestureComposition.js +14 -2
  54. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  55. package/lib/module/handlers/gestures/reanimatedWrapper.js +22 -0
  56. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  57. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +11 -2
  58. package/lib/module/web/tools/GestureHandlerWebDelegate.js +5 -1
  59. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  60. package/lib/module/web/tools/KeyboardEventManager.js +17 -12
  61. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  62. package/lib/module/web/tools/WheelEventManager.js +15 -5
  63. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  64. package/lib/typescript/handlers/createHandler.d.ts.map +1 -1
  65. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +1 -0
  66. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts.map +1 -1
  67. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts.map +1 -1
  68. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts.map +1 -1
  69. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +1 -0
  70. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts.map +1 -1
  71. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts.map +1 -1
  72. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts.map +1 -1
  73. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +5 -4
  74. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts.map +1 -1
  75. package/lib/typescript/handlers/gestures/gesture.d.ts +4 -0
  76. package/lib/typescript/handlers/gestures/gesture.d.ts.map +1 -1
  77. package/lib/typescript/handlers/gestures/gestureComposition.d.ts.map +1 -1
  78. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +1 -0
  79. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts.map +1 -1
  80. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts.map +1 -1
  81. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts.map +1 -1
  82. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +2 -1
  83. package/lib/typescript/web/tools/KeyboardEventManager.d.ts.map +1 -1
  84. package/lib/typescript/web/tools/WheelEventManager.d.ts.map +1 -1
  85. package/package.json +1 -1
  86. package/src/handlers/createHandler.tsx +4 -1
  87. package/src/handlers/gestures/GestureDetector/Wrap.tsx +17 -1
  88. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +11 -2
  89. package/src/handlers/gestures/GestureDetector/index.tsx +4 -0
  90. package/src/handlers/gestures/GestureDetector/types.ts +3 -0
  91. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +8 -0
  92. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +29 -4
  93. package/src/handlers/gestures/GestureDetector/utils.ts +42 -10
  94. package/src/handlers/gestures/gesture.ts +11 -0
  95. package/src/handlers/gestures/gestureComposition.ts +15 -2
  96. package/src/handlers/gestures/reanimatedWrapper.ts +23 -0
  97. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +11 -2
  98. package/src/web/tools/GestureHandlerWebDelegate.ts +6 -1
  99. package/src/web/tools/KeyboardEventManager.ts +20 -18
  100. package/src/web/tools/WheelEventManager.ts +14 -5
@@ -23,6 +23,9 @@ public class RNGestureHandlerRootViewManagerDelegate<T extends View, U extends B
23
23
  @Override
24
24
  public void setProperty(T view, String propName, @Nullable Object value) {
25
25
  switch (propName) {
26
+ case "pointerEvents":
27
+ mViewManager.setPointerEvents(view, (String) value);
28
+ break;
26
29
  case "unstable_forceActive":
27
30
  mViewManager.setUnstable_forceActive(view, value == null ? false : (boolean) value);
28
31
  break;
@@ -10,8 +10,10 @@
10
10
  package com.facebook.react.viewmanagers;
11
11
 
12
12
  import android.view.View;
13
+ import androidx.annotation.Nullable;
13
14
  import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
15
 
15
16
  public interface RNGestureHandlerRootViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
17
+ void setPointerEvents(T view, @Nullable String value);
16
18
  void setUnstable_forceActive(T view, boolean value);
17
19
  }
@@ -568,10 +568,14 @@ open class GestureHandler {
568
568
  }
569
569
 
570
570
  // if there are tracked pointers and the gesture is about to end, send event cancelling all pointers
571
- if (trackedPointersCount > 0 &&
572
- (newState == STATE_END || newState == STATE_CANCELLED || newState == STATE_FAILED)
573
- ) {
571
+ if (trackedPointersCount > 0 && isFinished(newState)) {
574
572
  cancelPointers()
573
+
574
+ // `cancelPointers` dispatches the event synchronously and its callback may change the state
575
+ // (e.g. via `GestureStateManager.fail`), in which case the transition is already complete.
576
+ if (isFinished(state)) {
577
+ return
578
+ }
575
579
  }
576
580
 
577
581
  val oldState = state
@@ -951,6 +955,8 @@ open class GestureHandler {
951
955
  }
952
956
 
953
957
  companion object {
958
+ fun isFinished(state: Int) = state == STATE_CANCELLED || state == STATE_FAILED || state == STATE_END
959
+
954
960
  private const val DEFAULT_NEEDS_POINTER_DATA = false
955
961
  private const val DEFAULT_MANUAL_ACTIVATION = false
956
962
  private const val DEFAULT_SHOULD_CANCEL_WHEN_OUTSIDE = false
@@ -97,7 +97,7 @@ class GestureHandlerOrchestrator(
97
97
 
98
98
  private fun cleanupFinishedHandlers() {
99
99
  for (handler in gestureHandlers.asReversed()) {
100
- if (isFinished(handler.state) && !handler.isAwaiting) {
100
+ if (GestureHandler.isFinished(handler.state) && !handler.isAwaiting) {
101
101
  handler.reset()
102
102
  handler.apply {
103
103
  isActive = false
@@ -107,13 +107,13 @@ class GestureHandlerOrchestrator(
107
107
  }
108
108
  }
109
109
 
110
- gestureHandlers.removeAll { isFinished(it.state) && !it.isAwaiting }
110
+ gestureHandlers.removeAll { GestureHandler.isFinished(it.state) && !it.isAwaiting }
111
111
 
112
112
  finishedHandlersCleanupScheduled = false
113
113
  }
114
114
 
115
115
  private fun hasOtherHandlerToWaitFor(handler: GestureHandler) =
116
- gestureHandlers.any { !isFinished(it.state) && shouldHandlerWaitForOther(handler, it) }
116
+ gestureHandlers.any { !GestureHandler.isFinished(it.state) && shouldHandlerWaitForOther(handler, it) }
117
117
 
118
118
  private fun shouldBeCancelledByFinishedHandler(handler: GestureHandler) =
119
119
  gestureHandlers.any { shouldHandlerWaitForOther(handler, it) && it.state == GestureHandler.STATE_END }
@@ -163,7 +163,7 @@ class GestureHandlerOrchestrator(
163
163
  handler.isAwaiting = false
164
164
  }
165
165
 
166
- if (isFinished(newState)) {
166
+ if (GestureHandler.isFinished(newState)) {
167
167
  // We have to loop through copy in order to avoid modifying collection
168
168
  // while iterating over its elements
169
169
  val currentlyAwaitingHandlers = awaitingHandlers.toList()
@@ -678,6 +678,7 @@ class GestureHandlerOrchestrator(
678
678
  continue
679
679
  }
680
680
  view.onTouchEvent(cancelEvent)
681
+ view.stopNestedScroll()
681
682
  }
682
683
 
683
684
  cancelEvent.recycle()
@@ -927,9 +928,5 @@ class GestureHandlerOrchestrator(
927
928
  true
928
929
  }
929
930
  }
930
-
931
- private fun isFinished(state: Int) = state == GestureHandler.STATE_CANCELLED ||
932
- state == GestureHandler.STATE_FAILED ||
933
- state == GestureHandler.STATE_END
934
931
  }
935
932
  }
@@ -124,6 +124,7 @@ class HoverGestureHandler : GestureHandler() {
124
124
  override fun onReset() {
125
125
  super.onReset()
126
126
  stylusData = StylusData()
127
+ handler?.removeCallbacksAndMessages(null)
127
128
  }
128
129
 
129
130
  private fun finish() {
@@ -155,7 +155,8 @@ class RNGestureHandlerRootHelper(private val context: ReactContext, wrappedView:
155
155
  }
156
156
 
157
157
  companion object {
158
- private const val MIN_ALPHA_FOR_TOUCH = 0.1f
158
+ // Same threshold as UIKit / RCTViewComponentView hit testing on iOS.
159
+ private const val MIN_ALPHA_FOR_TOUCH = 0.01f
159
160
  private fun findRootViewTag(viewGroup: ViewGroup): ViewGroup {
160
161
  UiThreadUtil.assertOnUiThread()
161
162
  var parent: ViewParent? = viewGroup
@@ -1,6 +1,7 @@
1
1
  package com.swmansion.gesturehandler.react
2
2
 
3
3
  import com.facebook.react.module.annotations.ReactModule
4
+ import com.facebook.react.uimanager.PointerEvents.Companion.parsePointerEvents
4
5
  import com.facebook.react.uimanager.ThemedReactContext
5
6
  import com.facebook.react.uimanager.ViewGroupManager
6
7
  import com.facebook.react.uimanager.ViewManagerDelegate
@@ -33,6 +34,11 @@ class RNGestureHandlerRootViewManager :
33
34
  view.tearDown()
34
35
  }
35
36
 
37
+ @ReactProp(name = "pointerEvents")
38
+ override fun setPointerEvents(view: RNGestureHandlerRootView, pointerEventsStr: String?) {
39
+ view.pointerEvents = parsePointerEvents(pointerEventsStr)
40
+ }
41
+
36
42
  @ReactProp(name = "unstable_forceActive")
37
43
  override fun setUnstable_forceActive(view: RNGestureHandlerRootView, active: Boolean) {
38
44
  view.setUnstableForceActive(active)
@@ -105,7 +105,7 @@ static NSHashTable<RNGestureHandler *> *allGestureHandlers;
105
105
  - (void)resetConfig
106
106
  {
107
107
  self.enabled = YES;
108
- self.manualActivation = NO;
108
+ _manualActivation = NO;
109
109
  _shouldCancelWhenOutside = NO;
110
110
  _handlersToWaitFor = nil;
111
111
  _simultaneousHandlers = nil;
@@ -176,6 +176,8 @@ static NSHashTable<RNGestureHandler *> *allGestureHandlers;
176
176
  RCTLogError(@"Cannot have all of top, bottom and height defined");
177
177
  }
178
178
  }
179
+
180
+ [self syncManualActivationRecognizer];
179
181
  }
180
182
 
181
183
  - (void)setEnabled:(BOOL)enabled
@@ -480,14 +482,24 @@ static NSHashTable<RNGestureHandler *> *allGestureHandlers;
480
482
  - (void)setManualActivation:(BOOL)manualActivation
481
483
  {
482
484
  _manualActivation = manualActivation;
485
+ [self syncManualActivationRecognizer];
486
+ }
487
+
488
+ - (void)syncManualActivationRecognizer
489
+ {
490
+ BOOL hasRecognizer = _manualActivationRecognizer != nil;
483
491
 
484
- if (manualActivation) {
492
+ if (hasRecognizer == _manualActivation) {
493
+ return;
494
+ }
495
+
496
+ if (_manualActivation) {
485
497
  _manualActivationRecognizer = [[RNManualActivationRecognizer alloc] initWithGestureHandler:self];
486
498
 
487
499
  if (_recognizer.view != nil) {
488
500
  [_recognizer.view addGestureRecognizer:_manualActivationRecognizer];
489
501
  }
490
- } else if (_manualActivationRecognizer != nil) {
502
+ } else {
491
503
  [_manualActivationRecognizer.view removeGestureRecognizer:_manualActivationRecognizer];
492
504
  _manualActivationRecognizer = nil;
493
505
  }
@@ -259,8 +259,14 @@ static RNGestureHandlerPointerEvents RCTPointerEventsToEnum(facebook::react::Poi
259
259
  // This is necessary because RCTViewComponentView's hitTest might handle pointerEvents
260
260
  // from ViewProps and prevent touches from reaching _buttonView (which is the contentView).
261
261
  // Since _buttonView has its own pointerEvents handling, we always forward to it.
262
+ // Keep the visibility checks RCTViewComponentView applies, so a hidden or
263
+ // (nearly) transparent button is skipped like any other RN view.
262
264
  - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
263
265
  {
266
+ if (!self.userInteractionEnabled || self.hidden || self.alpha < 0.01) {
267
+ return nil;
268
+ }
269
+
264
270
  if (![self pointInside:point withEvent:event]) {
265
271
  return nil;
266
272
  }
@@ -60,7 +60,7 @@ UIManagerAny.genericDirectEventTypes = {
60
60
  ...UIManagerAny.genericDirectEventTypes,
61
61
  ...customGHEventsConfig
62
62
  };
63
- const UIManagerConstants = UIManagerAny.getViewManagerConfig?.('getConstants');
63
+ const UIManagerConstants = _reactNative.Platform.OS === 'windows' ? null : UIManagerAny.getViewManagerConfig?.('getConstants');
64
64
  if (UIManagerConstants) {
65
65
  UIManagerConstants.genericDirectEventTypes = {
66
66
  ...UIManagerConstants.genericDirectEventTypes,
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_customDirectEventTypes","_RNGestureHandlerModule","_interopRequireDefault","_State","_handlersRegistry","_getNextHandlerTag","_utils","_findNodeHandle","_utils2","_ActionType","_PressabilityDebugView","_GestureHandlerRootViewContext","_ghQueueMicrotask","_mountRegistry","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIManagerAny","UIManager","customDirectEventTypes","topGestureHandlerEvent","registrationName","customGHEventsConfigFabricAndroid","topOnGestureHandlerEvent","topOnGestureHandlerStateChange","customGHEventsConfig","onGestureHandlerEvent","onGestureHandlerStateChange","isFabric","Platform","OS","genericDirectEventTypes","UIManagerConstants","getViewManagerConfig","setJSResponder","oldSetJSResponder","clearJSResponder","oldClearJSResponder","tag","blockNativeResponder","RNGestureHandlerModule","handleSetJSResponder","handleClearJSResponder","allowTouches","DEV_ON_ANDROID","__DEV__","DeviceEventEmitter","addListener","hasUnresolvedRefs","props","extract","refs","Array","isArray","current","some","stateToPropMappings","State","UNDETERMINED","undefined","BEGAN","FAILED","CANCELLED","ACTIVE","END","UNRESOLVED_REFS_RETRY_LIMIT","createHandler","name","allowedProps","config","transformProps","customNativeProps","Handler","Component","displayName","contextType","GestureHandlerRootViewContext","handlerTag","constructor","propsRef","createRef","isMountedRef","state","id","handlerIDToTag","Error","componentDidMount","inspectorToggleListener","setState","_","update","ghQueueMicrotask","createGestureHandler","filterConfig","viewNode","attachGestureHandler","findNodeHandle","componentDidUpdate","viewTag","componentWillUnmount","remove","unregisterOldGestureHandler","dropGestureHandler","scheduleFlushOperations","handlerID","MountRegistry","gestureHandlerWillUnmount","event","nativeEvent","onGestureEvent","onHandlerStateChange","stateEventName","eventHandler","refHandler","node","child","Children","only","children","ref","isReact19","newConfig","getNextHandlerTag","newViewTag","ActionType","JS_FUNCTION_OLD_API","registerOldGestureHandler","onGestureStateChange","actionType","isGestureHandlerWorklet","isStateChangeHandlerWorklet","isReanimatedHandler","REANIMATED_WORKLET","NATIVE_ANIMATED_EVENT","gestureHandlerWillMount","updateGestureHandler","remainingTries","deepEqual","setNativeProps","updates","mergedProps","render","context","isTestEnv","gestureEventHandler","gestureStateEventHandler","events","tagMessage","grandChildren","type","toArray","push","jsx","PressabilityDebugView","color","hitSlop","cloneElement","collapsable","handlerType","enabled","testID"],"sourceRoot":"../../../src","sources":["handlers/createHandler.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_customDirectEventTypes","_RNGestureHandlerModule","_interopRequireDefault","_State","_handlersRegistry","_getNextHandlerTag","_utils","_findNodeHandle","_utils2","_ActionType","_PressabilityDebugView","_GestureHandlerRootViewContext","_ghQueueMicrotask","_mountRegistry","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIManagerAny","UIManager","customDirectEventTypes","topGestureHandlerEvent","registrationName","customGHEventsConfigFabricAndroid","topOnGestureHandlerEvent","topOnGestureHandlerStateChange","customGHEventsConfig","onGestureHandlerEvent","onGestureHandlerStateChange","isFabric","Platform","OS","genericDirectEventTypes","UIManagerConstants","getViewManagerConfig","setJSResponder","oldSetJSResponder","clearJSResponder","oldClearJSResponder","tag","blockNativeResponder","RNGestureHandlerModule","handleSetJSResponder","handleClearJSResponder","allowTouches","DEV_ON_ANDROID","__DEV__","DeviceEventEmitter","addListener","hasUnresolvedRefs","props","extract","refs","Array","isArray","current","some","stateToPropMappings","State","UNDETERMINED","undefined","BEGAN","FAILED","CANCELLED","ACTIVE","END","UNRESOLVED_REFS_RETRY_LIMIT","createHandler","name","allowedProps","config","transformProps","customNativeProps","Handler","Component","displayName","contextType","GestureHandlerRootViewContext","handlerTag","constructor","propsRef","createRef","isMountedRef","state","id","handlerIDToTag","Error","componentDidMount","inspectorToggleListener","setState","_","update","ghQueueMicrotask","createGestureHandler","filterConfig","viewNode","attachGestureHandler","findNodeHandle","componentDidUpdate","viewTag","componentWillUnmount","remove","unregisterOldGestureHandler","dropGestureHandler","scheduleFlushOperations","handlerID","MountRegistry","gestureHandlerWillUnmount","event","nativeEvent","onGestureEvent","onHandlerStateChange","stateEventName","eventHandler","refHandler","node","child","Children","only","children","ref","isReact19","newConfig","getNextHandlerTag","newViewTag","ActionType","JS_FUNCTION_OLD_API","registerOldGestureHandler","onGestureStateChange","actionType","isGestureHandlerWorklet","isStateChangeHandlerWorklet","isReanimatedHandler","REANIMATED_WORKLET","NATIVE_ANIMATED_EVENT","gestureHandlerWillMount","updateGestureHandler","remainingTries","deepEqual","setNativeProps","updates","mergedProps","render","context","isTestEnv","gestureEventHandler","gestureStateEventHandler","events","tagMessage","grandChildren","type","toArray","push","jsx","PressabilityDebugView","color","hitSlop","cloneElement","collapsable","handlerType","enabled","testID"],"sourceRoot":"../../../src","sources":["handlers/createHandler.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,16 @@ class Wrap extends _react.default.Component {
20
20
  getHostInstance() {
21
21
  return this.hostInstance;
22
22
  }
23
+
24
+ // Used by Reanimated's `createAnimatedComponent` (`AnimatedWrap`). Without it,
25
+ // Reanimated calls `findHostInstance_DEPRECATED` on this class instance, which
26
+ // warns under StrictMode. Reanimated caches the result, so the child's host
27
+ // instance is only safe to hand out when it re-resolves the ref on update;
28
+ // otherwise return the instance itself, which keeps the deprecated lookup.
29
+ // eslint-disable-next-line @eslint-react/no-unused-class-component-members
30
+ getAnimatableRef() {
31
+ return (0, _reanimatedWrapper.reanimatedRefreshesAnimatableRef)() ? (0, _hostInstance.resolveHostInstance)(this) : this;
32
+ }
23
33
  detachChildRef() {
24
34
  if (this.childRefCleanup !== undefined) {
25
35
  this.childRefCleanup();
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_hostInstance","_reanimatedWrapper","_utils","e","__esModule","default","Wrap","React","Component","childInstance","hostInstance","childRef","undefined","attachedChildRef","childRefCleanup","getHostInstance","detachChildRef","assignRef","attachChildRef","instance","handleChildRef","resolved","preferHostInstance","isHostInstance","componentDidUpdate","render","child","Children","only","props","children","Error","tagMessage","ref","cloneElement","collapsable","exports","AnimatedWrap","Reanimated","createAnimatedComponent"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/Wrap.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_hostInstance","_reanimatedWrapper","_utils","e","__esModule","default","Wrap","React","Component","childInstance","hostInstance","childRef","undefined","attachedChildRef","childRefCleanup","getHostInstance","getAnimatableRef","reanimatedRefreshesAnimatableRef","resolveHostInstance","detachChildRef","assignRef","attachChildRef","instance","handleChildRef","resolved","preferHostInstance","isHostInstance","componentDidUpdate","render","child","Children","only","props","children","Error","tagMessage","ref","cloneElement","collapsable","exports","AnimatedWrap","Reanimated","createAnimatedComponent"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/Wrap.tsx"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,9 @@ function attachHandlers({
36
36
  (0, _handlersRegistry.registerHandler)(handler.handlerTag, handler, handler.config.testId);
37
37
  }
38
38
 
39
+ // React to every mount until the microtask below classifies the new gesture set
40
+ preparedGesture.hasExternalRelations = true;
41
+
39
42
  // Use queueMicrotask to extract handlerTags, because all refs should be initialized
40
43
  // when it's ran
41
44
  (0, _ghQueueMicrotask.ghQueueMicrotask)(() => {
@@ -45,8 +48,13 @@ function attachHandlers({
45
48
  for (const handler of gesturesToAttach) {
46
49
  _RNGestureHandlerModule.default.updateGestureHandler(handler.handlerTag, (0, _utils.filterConfig)(handler.config, _utils2.ALLOWED_PROPS, (0, _utils2.extractGestureRelations)(handler)));
47
50
  }
51
+ preparedGesture.hasExternalRelations = (0, _utils2.hasExternalRelations)(gesturesToAttach);
48
52
  (0, _utils.scheduleFlushOperations)();
49
53
  });
54
+
55
+ // Set before the mount events below fire, so this detector's own mount
56
+ // listener can tell its gestures apart from external ones
57
+ preparedGesture.attachedGestures = gesturesToAttach;
50
58
  for (const gesture of gesturesToAttach) {
51
59
  const actionType = gesture.shouldUseReanimated ? _ActionType.ActionType.REANIMATED_WORKLET : _ActionType.ActionType.JS_FUNCTION_NEW_API;
52
60
  if (_reactNative.Platform.OS === 'web') {
@@ -58,7 +66,6 @@ function attachHandlers({
58
66
  }
59
67
  _mountRegistry.MountRegistry.gestureWillMount(gesture);
60
68
  }
61
- preparedGesture.attachedGestures = gesturesToAttach;
62
69
  if (preparedGesture.animatedHandlers) {
63
70
  const isAnimatedGesture = g => g.shouldUseReanimated;
64
71
  preparedGesture.animatedHandlers.value = gesturesToAttach.filter(isAnimatedGesture).map(g => g.handlers);
@@ -1 +1 @@
1
- {"version":3,"names":["_handlersRegistry","require","_RNGestureHandlerModule","_interopRequireDefault","_utils","_ActionType","_reactNative","_ghQueueMicrotask","_utils2","_mountRegistry","e","__esModule","default","attachHandlers","preparedGesture","gestureConfig","gesturesToAttach","viewTag","webEventHandlersRef","initialize","ghQueueMicrotask","isMounted","prepare","handler","checkGestureCallbacksForWorklets","RNGestureHandlerModule","createGestureHandler","handlerName","handlerTag","filterConfig","config","ALLOWED_PROPS","registerHandler","testId","updateGestureHandler","extractGestureRelations","scheduleFlushOperations","gesture","actionType","shouldUseReanimated","ActionType","REANIMATED_WORKLET","JS_FUNCTION_NEW_API","Platform","OS","attachGestureHandler","JS_FUNCTION_OLD_API","MountRegistry","gestureWillMount","attachedGestures","animatedHandlers","isAnimatedGesture","g","value","filter","map","handlers"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/attachHandlers.ts"],"mappings":";;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAEA,IAAAM,iBAAA,GAAAN,OAAA;AAEA,IAAAO,OAAA,GAAAP,OAAA;AAKA,IAAAQ,cAAA,GAAAR,OAAA;AAAuD,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUhD,SAASG,cAAcA,CAAC;EAC7BC,eAAe;EACfC,aAAa;EACbC,gBAAgB;EAChBC,OAAO;EACPC;AACoB,CAAC,EAAE;EACvBH,aAAa,CAACI,UAAU,CAAC,CAAC;;EAE1B;EACA;EACA,IAAAC,kCAAgB,EAAC,MAAM;IACrB,IAAI,CAACN,eAAe,CAACO,SAAS,EAAE;MAC9B;IACF;IACAN,aAAa,CAACO,OAAO,CAAC,CAAC;EACzB,CAAC,CAAC;EAEF,KAAK,MAAMC,OAAO,IAAIP,gBAAgB,EAAE;IACtC,IAAAQ,wCAAgC,EAACD,OAAO,CAAC;IACzCE,+BAAsB,CAACC,oBAAoB,CACzCH,OAAO,CAACI,WAAW,EACnBJ,OAAO,CAACK,UAAU,EAClB,IAAAC,mBAAY,EAACN,OAAO,CAACO,MAAM,EAAEC,qBAAa,CAC5C,CAAC;IAED,IAAAC,iCAAe,EAACT,OAAO,CAACK,UAAU,EAAEL,OAAO,EAAEA,OAAO,CAACO,MAAM,CAACG,MAAM,CAAC;EACrE;;EAEA;EACA;EACA,IAAAb,kCAAgB,EAAC,MAAM;IACrB,IAAI,CAACN,eAAe,CAACO,SAAS,EAAE;MAC9B;IACF;IACA,KAAK,MAAME,OAAO,IAAIP,gBAAgB,EAAE;MACtCS,+BAAsB,CAACS,oBAAoB,CACzCX,OAAO,CAACK,UAAU,EAClB,IAAAC,mBAAY,EACVN,OAAO,CAACO,MAAM,EACdC,qBAAa,EACb,IAAAI,+BAAuB,EAACZ,OAAO,CACjC,CACF,CAAC;IACH;IAEA,IAAAa,8BAAuB,EAAC,CAAC;EAC3B,CAAC,CAAC;EAEF,KAAK,MAAMC,OAAO,IAAIrB,gBAAgB,EAAE;IACtC,MAAMsB,UAAU,GAAGD,OAAO,CAACE,mBAAmB,GAC1CC,sBAAU,CAACC,kBAAkB,GAC7BD,sBAAU,CAACE,mBAAmB;IAElC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MAEvBnB,+BAAsB,CAACoB,oBAAoB,CAE3CR,OAAO,CAACT,UAAU,EAClBX,OAAO,EACPuB,sBAAU,CAACM,mBAAmB;MAAE;MAChC5B,mBACF,CAAC;IACH,CAAC,MAAM;MACLO,+BAAsB,CAACoB,oBAAoB,CACzCR,OAAO,CAACT,UAAU,EAClBX,OAAO,EACPqB,UACF,CAAC;IACH;IAEAS,4BAAa,CAACC,gBAAgB,CAACX,OAAO,CAAC;EACzC;EAEAvB,eAAe,CAACmC,gBAAgB,GAAGjC,gBAAgB;EAEnD,IAAIF,eAAe,CAACoC,gBAAgB,EAAE;IACpC,MAAMC,iBAAiB,GAAIC,CAAc,IAAKA,CAAC,CAACb,mBAAmB;IAEnEzB,eAAe,CAACoC,gBAAgB,CAACG,KAAK,GAAGrC,gBAAgB,CACtDsC,MAAM,CAACH,iBAAiB,CAAC,CACzBI,GAAG,CAAEH,CAAC,IAAKA,CAAC,CAACI,QAAQ,CAErB;EACL;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_handlersRegistry","require","_RNGestureHandlerModule","_interopRequireDefault","_utils","_ActionType","_reactNative","_ghQueueMicrotask","_utils2","_mountRegistry","e","__esModule","default","attachHandlers","preparedGesture","gestureConfig","gesturesToAttach","viewTag","webEventHandlersRef","initialize","ghQueueMicrotask","isMounted","prepare","handler","checkGestureCallbacksForWorklets","RNGestureHandlerModule","createGestureHandler","handlerName","handlerTag","filterConfig","config","ALLOWED_PROPS","registerHandler","testId","hasExternalRelations","updateGestureHandler","extractGestureRelations","scheduleFlushOperations","attachedGestures","gesture","actionType","shouldUseReanimated","ActionType","REANIMATED_WORKLET","JS_FUNCTION_NEW_API","Platform","OS","attachGestureHandler","JS_FUNCTION_OLD_API","MountRegistry","gestureWillMount","animatedHandlers","isAnimatedGesture","g","value","filter","map","handlers"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/attachHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -80,7 +80,11 @@ const GestureDetector = props => {
80
80
  animatedEventHandler: null,
81
81
  animatedHandlers: null,
82
82
  shouldUseReanimated: shouldUseReanimated,
83
- isMounted: false
83
+ isMounted: false,
84
+ // The real value is computed in the attach microtask, which runs after
85
+ // this commit's effects. Until then react to every mount, so a relation
86
+ // to a gesture mounting in the same commit is never skipped.
87
+ hasExternalRelations: true
84
88
  }).current;
85
89
  const updateAttachedGestures = (0, _useDetectorUpdater.useDetectorUpdater)(state, preparedGesture, gesturesToAttach, gestureConfig, webEventHandlersRef);
86
90
  const refHandler = (0, _useViewRefHandler.useViewRefHandler)(state, updateAttachedGestures);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_findNodeHandle","_interopRequireDefault","_utils","_hostInstance","_GestureHandlerRootViewContext","_useAnimatedGesture","_attachHandlers","_needsToReattach","_dropHandlers","_utils2","_Wrap","_useDetectorUpdater","_useViewRefHandler","_useMountReactions","_useIsomorphicLayoutEffect","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","propagateDetectorConfig","props","gesture","keysToPropagate","key","value","undefined","g","toGestureArray","config","GestureDetector","rootViewContext","useContext","GestureHandlerRootViewContext","__DEV__","isTestEnv","Platform","OS","Error","gestureConfig","gesturesToAttach","useMemo","shouldUseReanimated","some","webEventHandlersRef","useWebEventHandlers","state","useRef","firstRender","viewRef","previousViewTag","forceRebuildReanimatedEvent","current","preparedGesture","React","attachedGestures","animatedEventHandler","animatedHandlers","isMounted","updateAttachedGestures","useDetectorUpdater","refHandler","useViewRefHandler","needsToRebuildReanimatedEvent","needsToReattach","useAnimatedGesture","useIsomorphicLayoutEffect","viewTag","findNodeHandle","resolveHostInstance","attachHandlers","dropHandlers","useEffect","useMountReactions","jsx","AnimatedWrap","ref","onGestureHandlerEvent","children","Wrap","exports"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_findNodeHandle","_interopRequireDefault","_utils","_hostInstance","_GestureHandlerRootViewContext","_useAnimatedGesture","_attachHandlers","_needsToReattach","_dropHandlers","_utils2","_Wrap","_useDetectorUpdater","_useViewRefHandler","_useMountReactions","_useIsomorphicLayoutEffect","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","propagateDetectorConfig","props","gesture","keysToPropagate","key","value","undefined","g","toGestureArray","config","GestureDetector","rootViewContext","useContext","GestureHandlerRootViewContext","__DEV__","isTestEnv","Platform","OS","Error","gestureConfig","gesturesToAttach","useMemo","shouldUseReanimated","some","webEventHandlersRef","useWebEventHandlers","state","useRef","firstRender","viewRef","previousViewTag","forceRebuildReanimatedEvent","current","preparedGesture","React","attachedGestures","animatedEventHandler","animatedHandlers","isMounted","hasExternalRelations","updateAttachedGestures","useDetectorUpdater","refHandler","useViewRefHandler","needsToRebuildReanimatedEvent","needsToReattach","useAnimatedGesture","useIsomorphicLayoutEffect","viewTag","findNodeHandle","resolveHostInstance","attachHandlers","dropHandlers","useEffect","useMountReactions","jsx","AnimatedWrap","ref","onGestureHandlerEvent","children","Wrap","exports"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,9 @@ function updateHandlers(preparedGesture, gestureConfig, newGestures) {
27
27
  // Store attached gestures to avoid crash when gestures changed after queueing micro task
28
28
  const attachedGestures = preparedGesture.attachedGestures;
29
29
 
30
+ // React to every mount until the microtask below classifies the new gesture set
31
+ preparedGesture.hasExternalRelations = true;
32
+
30
33
  // Use queueMicrotask to extract handlerTags, because when it's ran, all refs should be updated
31
34
  // and handlerTags in BaseGesture references should be updated in the loop above (we need to wait
32
35
  // in case of external relations)
@@ -55,6 +58,10 @@ function updateHandlers(preparedGesture, gestureConfig, newGestures) {
55
58
  _RNGestureHandlerModule.default.updateGestureHandler(handler.handlerTag, (0, _utils.filterConfig)(handler.config, _utils2.ALLOWED_PROPS, (0, _utils2.extractGestureRelations)(handler)));
56
59
  (0, _handlersRegistry.registerHandler)(handler.handlerTag, handler, handler.config.testId);
57
60
  }
61
+
62
+ // Classify the new instances: their configs reference the new siblings,
63
+ // which the old attached objects would mistake for external gestures
64
+ preparedGesture.hasExternalRelations = (0, _utils2.hasExternalRelations)(newGestures);
58
65
  if (preparedGesture.animatedHandlers && shouldUpdateSharedValueIfUsed) {
59
66
  const newHandlersValue = attachedGestures.filter(g => g.shouldUseReanimated) // Ignore gestures that shouldn't run on UI
60
67
  .map(g => g.handlers);
@@ -1 +1 @@
1
- {"version":3,"names":["_handlersRegistry","require","_RNGestureHandlerModule","_interopRequireDefault","_utils","_ghQueueMicrotask","_utils2","e","__esModule","default","updateHandlers","preparedGesture","gestureConfig","newGestures","prepare","i","length","handler","attachedGestures","checkGestureCallbacksForWorklets","handlerTag","handlers","ghQueueMicrotask","isMounted","shouldUpdateSharedValueIfUsed","gestureId","shouldUseReanimated","config","RNGestureHandlerModule","updateGestureHandler","filterConfig","ALLOWED_PROPS","extractGestureRelations","registerHandler","testId","animatedHandlers","newHandlersValue","filter","g","map","value","scheduleFlushOperations"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/updateHandlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_handlersRegistry","require","_RNGestureHandlerModule","_interopRequireDefault","_utils","_ghQueueMicrotask","_utils2","e","__esModule","default","updateHandlers","preparedGesture","gestureConfig","newGestures","prepare","i","length","handler","attachedGestures","checkGestureCallbacksForWorklets","handlerTag","handlers","hasExternalRelations","ghQueueMicrotask","isMounted","shouldUpdateSharedValueIfUsed","gestureId","shouldUseReanimated","config","RNGestureHandlerModule","updateGestureHandler","filterConfig","ALLOWED_PROPS","extractGestureRelations","registerHandler","testId","animatedHandlers","newHandlersValue","filter","g","map","value","scheduleFlushOperations"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/updateHandlers.ts"],"mappings":"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","ignoreList":[]}
@@ -4,15 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useMountReactions = useMountReactions;
7
- var _utils = require("../../utils");
8
7
  var _mountRegistry = require("../../../mountRegistry");
9
8
  var _react = require("react");
10
9
  function shouldUpdateDetector(relation, gesture) {
11
10
  if (relation === undefined) {
12
11
  return false;
13
12
  }
14
- for (const tag of (0, _utils.transformIntoHandlerTags)(relation)) {
15
- if (tag === gesture.handlerTag) {
13
+ for (const entry of relation) {
14
+ // A gesture object gets its tag in `initialize`, when its own detector
15
+ // attaches. The mount event carries that very object, so identity is enough.
16
+ if (entry === gesture) {
17
+ return true;
18
+ }
19
+ if (entry === null || typeof entry !== 'object' || !('current' in entry)) {
20
+ continue;
21
+ }
22
+ const current = entry.current;
23
+ if (current?.handlerTag === gesture.handlerTag) {
16
24
  return true;
17
25
  }
18
26
  }
@@ -27,6 +35,17 @@ function useMountReactions(updateDetector, state) {
27
35
  return;
28
36
  }
29
37
 
38
+ // Nothing here can resolve late, skip the scan (most detectors)
39
+ if (!state.hasExternalRelations) {
40
+ return;
41
+ }
42
+
43
+ // Own gestures are resolved by the attach microtask, and on a reattach
44
+ // they would match the sibling entries added by composition
45
+ if (state.attachedGestures.includes(gesture)) {
46
+ return;
47
+ }
48
+
30
49
  // At this point the ref in the gesture config should be updated, so we can check if one of the gestures
31
50
  // set in a relation with the gesture got mounted. If so, we need to update the detector to propagate
32
51
  // the changes to the native side.
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","_mountRegistry","_react","shouldUpdateDetector","relation","gesture","undefined","tag","transformIntoHandlerTags","handlerTag","useMountReactions","updateDetector","state","useEffect","MountRegistry","addMountListener","isMounted","attachedGesture","attachedGestures","blocksHandlers","config","requireToFail","simultaneousWith"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/useMountReactions.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAGA,SAASG,oBAAoBA,CAC3BC,QAAkC,EAClCC,OAA+B,EAC/B;EACA,IAAID,QAAQ,KAAKE,SAAS,EAAE;IAC1B,OAAO,KAAK;EACd;EAEA,KAAK,MAAMC,GAAG,IAAI,IAAAC,+BAAwB,EAACJ,QAAQ,CAAC,EAAE;IACpD,IAAIG,GAAG,KAAKF,OAAO,CAACI,UAAU,EAAE;MAC9B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd;AAEO,SAASC,iBAAiBA,CAC/BC,cAA0B,EAC1BC,KAA2B,EAC3B;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOC,4BAAa,CAACC,gBAAgB,CAAEV,OAAO,IAAK;MACjD;MACA;MACA,IAAI,CAACO,KAAK,CAACI,SAAS,EAAE;QACpB;MACF;;MAEA;MACA;MACA;MACA,KAAK,MAAMC,eAAe,IAAIL,KAAK,CAACM,gBAAgB,EAAE;QACpD,MAAMC,cAAc,GAAGF,eAAe,CAACG,MAAM,CAACD,cAAc;QAC5D,MAAME,aAAa,GAAGJ,eAAe,CAACG,MAAM,CAACC,aAAa;QAC1D,MAAMC,gBAAgB,GAAGL,eAAe,CAACG,MAAM,CAACE,gBAAgB;QAEhE,IACEnB,oBAAoB,CAACgB,cAAc,EAAEd,OAAO,CAAC,IAC7CF,oBAAoB,CAACkB,aAAa,EAAEhB,OAAO,CAAC,IAC5CF,oBAAoB,CAACmB,gBAAgB,EAAEjB,OAAO,CAAC,EAC/C;UACAM,cAAc,CAAC,CAAC;;UAEhB;UACA;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,cAAc,EAAEC,KAAK,CAAC,CAAC;AAC7B","ignoreList":[]}
1
+ {"version":3,"names":["_mountRegistry","require","_react","shouldUpdateDetector","relation","gesture","undefined","entry","current","handlerTag","useMountReactions","updateDetector","state","useEffect","MountRegistry","addMountListener","isMounted","hasExternalRelations","attachedGestures","includes","attachedGesture","blocksHandlers","config","requireToFail","simultaneousWith"],"sourceRoot":"../../../../../src","sources":["handlers/gestures/GestureDetector/useMountReactions.ts"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAKA,SAASE,oBAAoBA,CAC3BC,QAAkC,EAClCC,OAAuB,EACvB;EACA,IAAID,QAAQ,KAAKE,SAAS,EAAE;IAC1B,OAAO,KAAK;EACd;EAEA,KAAK,MAAMC,KAAK,IAAIH,QAAQ,EAAE;IAC5B;IACA;IACA,IAAIG,KAAK,KAAKF,OAAO,EAAE;MACrB,OAAO,IAAI;IACb;IAEA,IAAIE,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,EAAE,SAAS,IAAIA,KAAK,CAAC,EAAE;MACxE;IACF;IAEA,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAqD;IAE3E,IAAIA,OAAO,EAAEC,UAAU,KAAKJ,OAAO,CAACI,UAAU,EAAE;MAC9C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd;AAEO,SAASC,iBAAiBA,CAC/BC,cAA0B,EAC1BC,KAA2B,EAC3B;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAOC,4BAAa,CAACC,gBAAgB,CAAEV,OAAO,IAAK;MACjD;MACA;MACA,IAAI,CAACO,KAAK,CAACI,SAAS,EAAE;QACpB;MACF;;MAEA;MACA,IAAI,CAACJ,KAAK,CAACK,oBAAoB,EAAE;QAC/B;MACF;;MAEA;MACA;MACA,IAAIL,KAAK,CAACM,gBAAgB,CAACC,QAAQ,CAACd,OAAgB,CAAC,EAAE;QACrD;MACF;;MAEA;MACA;MACA;MACA,KAAK,MAAMe,eAAe,IAAIR,KAAK,CAACM,gBAAgB,EAAE;QACpD,MAAMG,cAAc,GAAGD,eAAe,CAACE,MAAM,CAACD,cAAc;QAC5D,MAAME,aAAa,GAAGH,eAAe,CAACE,MAAM,CAACC,aAAa;QAC1D,MAAMC,gBAAgB,GAAGJ,eAAe,CAACE,MAAM,CAACE,gBAAgB;QAEhE,IACErB,oBAAoB,CAACkB,cAAc,EAAEhB,OAAO,CAAC,IAC7CF,oBAAoB,CAACoB,aAAa,EAAElB,OAAO,CAAC,IAC5CF,oBAAoB,CAACqB,gBAAgB,EAAEnB,OAAO,CAAC,EAC/C;UACAM,cAAc,CAAC,CAAC;;UAEhB;UACA;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,cAAc,EAAEC,KAAK,CAAC,CAAC;AAC7B","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ALLOWED_PROPS = void 0;
7
7
  exports.checkGestureCallbacksForWorklets = checkGestureCallbacksForWorklets;
8
8
  exports.extractGestureRelations = extractGestureRelations;
9
+ exports.hasExternalRelations = hasExternalRelations;
9
10
  exports.useForceRender = useForceRender;
10
11
  exports.useWebEventHandlers = useWebEventHandlers;
11
12
  var _react = require("react");
@@ -47,14 +48,42 @@ function convertToHandlerTag(ref) {
47
48
  function extractValidHandlerTags(interactionGroup) {
48
49
  return Array.from(new Set(interactionGroup?.map(convertToHandlerTag)?.filter(tag => tag > 0) ?? []));
49
50
  }
51
+
52
+ // Relations that may resolve to a different handler after this detector attached:
53
+ // refs (filled when the target mounts) and gesture objects attached by another
54
+ // detector (they get a tag in `initialize`). Siblings added by composition are
55
+ // attached together with the gesture, so they never resolve late.
56
+ function hasExternalRelations(gestures) {
57
+ const ownGestures = new Set(gestures);
58
+ for (const gesture of gestures) {
59
+ const relations = [gesture.config.blocksHandlers, gesture.config.requireToFail, gesture.config.simultaneousWith];
60
+ for (const relation of relations) {
61
+ if (relation === undefined) {
62
+ continue;
63
+ }
64
+ for (const entry of relation) {
65
+ if (typeof entry === 'number') {
66
+ continue;
67
+ }
68
+
69
+ // Anything but our own gesture object is external: a ref, or a gesture
70
+ // attached by another detector
71
+ if (!(entry instanceof _gesture.BaseGesture) || !ownGestures.has(entry)) {
72
+ return true;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ return false;
78
+ }
50
79
  function extractGestureRelations(gesture) {
51
- gesture.config.requireToFail = extractValidHandlerTags(gesture.config.requireToFail);
52
- gesture.config.simultaneousWith = extractValidHandlerTags(gesture.config.simultaneousWith);
53
- gesture.config.blocksHandlers = extractValidHandlerTags(gesture.config.blocksHandlers);
80
+ const requireToFail = extractValidHandlerTags(gesture.config.requireToFail);
81
+ const simultaneousWith = extractValidHandlerTags(gesture.config.simultaneousWith);
82
+ const blocksHandlers = extractValidHandlerTags(gesture.config.blocksHandlers);
54
83
  return {
55
- waitFor: gesture.config.requireToFail,
56
- simultaneousHandlers: gesture.config.simultaneousWith,
57
- blocksHandlers: gesture.config.blocksHandlers
84
+ waitFor: requireToFail,
85
+ simultaneousHandlers: simultaneousWith,
86
+ blocksHandlers: blocksHandlers
58
87
  };
59
88
  }
60
89
  function checkGestureCallbacksForWorklets(gesture) {