react-native-gesture-handler 2.28.0 → 2.30.0-20251030-c99169d35

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 (121) hide show
  1. package/README.md +1 -0
  2. package/android/build.gradle +2 -2
  3. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +1 -0
  4. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +8 -1
  5. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +1 -1
  6. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +73 -41
  7. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +5 -13
  8. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +2 -2
  9. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +14 -6
  10. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +6 -0
  11. package/apple/Handlers/RNFlingHandler.m +7 -1
  12. package/apple/Handlers/RNLongPressHandler.m +6 -4
  13. package/apple/Handlers/RNPanHandler.m +4 -1
  14. package/apple/Handlers/RNTapHandler.m +2 -1
  15. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  16. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  17. package/lib/commonjs/components/Pressable/Pressable.js +15 -5
  18. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  19. package/lib/commonjs/components/Pressable/stateDefinitions.js +1 -0
  20. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -1
  21. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +12 -10
  22. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -1
  23. package/lib/commonjs/handlers/NativeViewGestureHandler.js +32 -0
  24. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
  25. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +2 -1
  26. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  27. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +1 -1
  28. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  29. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +7 -7
  30. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  31. package/lib/commonjs/handlers/gestures/flingGesture.js +1 -1
  32. package/lib/commonjs/handlers/gestures/gestureStateManager.js +1 -0
  33. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  34. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +1 -0
  35. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  36. package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
  37. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  38. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +9 -0
  39. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -0
  40. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -2
  41. package/lib/commonjs/useIsomorphicLayoutEffect.js +20 -0
  42. package/lib/commonjs/useIsomorphicLayoutEffect.js.map +1 -0
  43. package/lib/commonjs/web/handlers/{NativeViewGestureHandler.ts → NativeViewGestureHandler.js} +53 -87
  44. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -0
  45. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +57 -0
  46. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -0
  47. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  48. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  49. package/lib/module/components/Pressable/Pressable.js +15 -5
  50. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  51. package/lib/module/components/Pressable/stateDefinitions.js +1 -0
  52. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -1
  53. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +6 -4
  54. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -1
  55. package/lib/module/handlers/NativeViewGestureHandler.js +27 -0
  56. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
  57. package/lib/module/handlers/gestures/GestureDetector/index.js +3 -2
  58. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  59. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +1 -1
  60. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  61. package/lib/module/handlers/gestures/GestureDetector/utils.js +7 -7
  62. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  63. package/lib/module/handlers/gestures/flingGesture.js +1 -1
  64. package/lib/module/handlers/gestures/gestureStateManager.js +1 -0
  65. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  66. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -0
  67. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  68. package/lib/module/handlers/gestures/nativeGesture.js +29 -0
  69. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  70. package/lib/module/specs/NativeRNGestureHandlerModule.js +5 -0
  71. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -0
  72. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -2
  73. package/lib/module/useIsomorphicLayoutEffect.js +15 -0
  74. package/lib/module/useIsomorphicLayoutEffect.js.map +1 -0
  75. package/lib/module/web/handlers/{NativeViewGestureHandler.ts → NativeViewGestureHandler.js} +36 -76
  76. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -0
  77. package/lib/module/web_hammer/NativeViewGestureHandler.js +51 -0
  78. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -0
  79. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +2 -2
  80. package/lib/typescript/components/GestureHandlerRootView.android.d.ts.map +1 -1
  81. package/lib/typescript/components/GestureHandlerRootView.d.ts +2 -2
  82. package/lib/typescript/components/GestureHandlerRootView.d.ts.map +1 -1
  83. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  84. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +2 -1
  85. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -1
  86. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +1 -1
  87. package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -1
  88. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts.map +1 -1
  89. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts.map +1 -1
  90. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +4 -4
  91. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts.map +1 -1
  92. package/lib/typescript/handlers/gestures/flingGesture.d.ts +1 -1
  93. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +2 -0
  94. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts.map +1 -1
  95. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts.map +1 -1
  96. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +3 -2
  97. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts.map +1 -1
  98. package/lib/typescript/useIsomorphicLayoutEffect.d.ts +3 -0
  99. package/lib/typescript/useIsomorphicLayoutEffect.d.ts.map +1 -0
  100. package/package.json +7 -7
  101. package/src/components/GestureHandlerRootView.android.tsx +3 -2
  102. package/src/components/GestureHandlerRootView.tsx +3 -2
  103. package/src/components/Pressable/Pressable.tsx +16 -5
  104. package/src/components/Pressable/stateDefinitions.ts +1 -0
  105. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +17 -4
  106. package/src/handlers/gestures/GestureDetector/index.tsx +3 -8
  107. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +4 -1
  108. package/src/handlers/gestures/GestureDetector/utils.ts +14 -8
  109. package/src/handlers/gestures/flingGesture.ts +1 -1
  110. package/src/handlers/gestures/gestureStateManager.ts +4 -0
  111. package/src/handlers/gestures/gestureStateManager.web.ts +2 -0
  112. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -2
  113. package/src/useIsomorphicLayoutEffect.tsx +19 -0
  114. package/lib/commonjs/handlers/NativeViewGestureHandler.ts +0 -59
  115. package/lib/commonjs/handlers/gestures/nativeGesture.ts +0 -33
  116. package/lib/commonjs/specs/NativeRNGestureHandlerModule.ts +0 -26
  117. package/lib/commonjs/web_hammer/NativeViewGestureHandler.ts +0 -47
  118. package/lib/module/handlers/NativeViewGestureHandler.ts +0 -59
  119. package/lib/module/handlers/gestures/nativeGesture.ts +0 -33
  120. package/lib/module/specs/NativeRNGestureHandlerModule.ts +0 -26
  121. package/lib/module/web_hammer/NativeViewGestureHandler.ts +0 -47
package/README.md CHANGED
@@ -35,6 +35,7 @@ You will need to have an Android or iOS device or emulator connected.
35
35
 
36
36
  | version | react-native version |
37
37
  | ------- | -------------------- |
38
+ | 2.28.0+ | 0.79.0+ |
38
39
  | 2.26.0+ | 0.78.0+ |
39
40
  | 2.25.0+ | 0.76.0+ |
40
41
  | 2.24.0+ | 0.75.0+ |
@@ -151,7 +151,6 @@ android {
151
151
  buildConfigField "int", "REACT_NATIVE_MINOR_VERSION", REACT_NATIVE_MINOR_VERSION.toString()
152
152
 
153
153
  if (isNewArchitectureEnabled()) {
154
- var appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
155
154
  externalNativeBuild {
156
155
  cmake {
157
156
  cppFlags "-O2", "-frtti", "-fexceptions", "-Wall", "-Werror", "-std=c++20", "-DANDROID"
@@ -187,6 +186,7 @@ android {
187
186
  exclude "**/libreactnative.so"
188
187
  exclude "**/libjsi.so"
189
188
  exclude "**/libc++_shared.so"
189
+ exclude "**/libfbjni.so"
190
190
  }
191
191
 
192
192
  sourceSets.main {
@@ -214,7 +214,7 @@ android {
214
214
  }
215
215
 
216
216
  if (isGHExampleApp()) {
217
- tasks.withType(ExternalNativeBuildJsonTask) {
217
+ tasks.withType(ExternalNativeBuildJsonTask).configureEach {
218
218
  compileTask ->
219
219
  compileTask.doLast {
220
220
  def rootDir = new File("${project.projectDir}/..")
@@ -16,6 +16,7 @@ import com.facebook.react.uimanager.BaseViewManager;
16
16
  import com.facebook.react.uimanager.BaseViewManagerDelegate;
17
17
  import com.facebook.react.uimanager.LayoutShadowNode;
18
18
 
19
+ @SuppressWarnings("deprecation")
19
20
  public class RNGestureHandlerButtonManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNGestureHandlerButtonManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
20
21
  public RNGestureHandlerButtonManagerDelegate(U viewManager) {
21
22
  super(viewManager);
@@ -15,12 +15,19 @@ import com.facebook.react.uimanager.BaseViewManager;
15
15
  import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
16
  import com.facebook.react.uimanager.LayoutShadowNode;
17
17
 
18
+ @SuppressWarnings("deprecation")
18
19
  public class RNGestureHandlerRootViewManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & RNGestureHandlerRootViewManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
20
  public RNGestureHandlerRootViewManagerDelegate(U viewManager) {
20
21
  super(viewManager);
21
22
  }
22
23
  @Override
23
24
  public void setProperty(T view, String propName, @Nullable Object value) {
24
- super.setProperty(view, propName, value);
25
+ switch (propName) {
26
+ case "unstable_forceActive":
27
+ mViewManager.setUnstable_forceActive(view, value == null ? false : (boolean) value);
28
+ break;
29
+ default:
30
+ super.setProperty(view, propName, value);
31
+ }
25
32
  }
26
33
  }
@@ -13,5 +13,5 @@ import android.view.View;
13
13
  import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;
14
14
 
15
15
  public interface RNGestureHandlerRootViewManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
16
- // No props
16
+ void setUnstable_forceActive(T view, boolean value);
17
17
  }
@@ -7,6 +7,7 @@ import android.view.View
7
7
  import android.view.ViewGroup
8
8
  import android.widget.EditText
9
9
  import com.swmansion.gesturehandler.react.RNGestureHandlerRootHelper
10
+ import com.swmansion.gesturehandler.react.RNGestureHandlerRootView
10
11
  import java.util.*
11
12
 
12
13
  class GestureHandlerOrchestrator(
@@ -475,6 +476,12 @@ class GestureHandlerOrchestrator(
475
476
 
476
477
  while (parent != null) {
477
478
  if (parent is ViewGroup) {
479
+ // Stop traversing the hierarchy when encountering another active root view to prevent
480
+ // gestures from being extracted multiple times by different orchestrators.
481
+ if (parent is RNGestureHandlerRootView && parent.isRootViewEnabled()) {
482
+ break
483
+ }
484
+
478
485
  val parentViewGroup: ViewGroup = parent
479
486
 
480
487
  handlerRegistry.getHandlersForView(parent)?.let {
@@ -562,12 +569,26 @@ class GestureHandlerOrchestrator(
562
569
  extractGestureHandlers(wrapperView, tempCoords, pointerId, event)
563
570
  }
564
571
 
572
+ private fun shouldIgnoreSubtreeIfGestureHandlerRootView(view: View) =
573
+ view is RNGestureHandlerRootView && view != wrapperView && view.isRootViewEnabled()
574
+
565
575
  private fun extractGestureHandlers(
566
576
  viewGroup: ViewGroup,
567
577
  coords: FloatArray,
568
578
  pointerId: Int,
569
579
  event: MotionEvent,
570
580
  ): Boolean {
581
+ if (shouldIgnoreSubtreeIfGestureHandlerRootView(viewGroup)) {
582
+ // When we encounter another active root view while traversing the view hierarchy, we want
583
+ // to stop there so that it can handle the gesture attached under it itself.
584
+ // This helps in cases where a view may call `requestDisallowInterceptTouchEvent` (which would
585
+ // cancel all gestures handled by its parent root view) but there may be some gestures attached
586
+ // to views under it which should work. Adding another root view under that particular view
587
+ // would allow the gesture to be recognized even though the parent root view cancelled its gestures.
588
+ // We want to stop here so the gesture receives event only once.
589
+ return false
590
+ }
591
+
571
592
  val childrenCount = viewGroup.childCount
572
593
  for (i in childrenCount - 1 downTo 0) {
573
594
  val child = viewConfigHelper.getChildInDrawingOrderAtIndex(viewGroup, i)
@@ -595,52 +616,63 @@ class GestureHandlerOrchestrator(
595
616
  }
596
617
 
597
618
  private fun traverseWithPointerEvents(view: View, coords: FloatArray, pointerId: Int, event: MotionEvent): Boolean =
598
- when (viewConfigHelper.getPointerEventsConfigForView(view)) {
599
- PointerEventsConfig.NONE -> {
600
- // This view and its children can't be the target
601
- false
602
- }
603
- PointerEventsConfig.BOX_ONLY -> {
604
- // This view is the target, its children don't matter
605
- (
606
- recordViewHandlersForPointer(view, coords, pointerId, event) ||
607
- shouldHandlerlessViewBecomeTouchTarget(view, coords)
608
- )
609
- }
610
- PointerEventsConfig.BOX_NONE -> {
611
- // This view can't be the target, but its children might
612
- when (view) {
613
- is ViewGroup -> {
614
- extractGestureHandlers(view, coords, pointerId, event).also { found ->
615
- // A child view is handling touch, also extract handlers attached to this view
616
- if (found) {
617
- recordViewHandlersForPointer(view, coords, pointerId, event)
619
+ if (shouldIgnoreSubtreeIfGestureHandlerRootView(view)) {
620
+ // When we encounter another active root view while traversing the view hierarchy, we want
621
+ // to stop there so that it can handle the gesture attached under it itself.
622
+ // This helps in cases where a view may call `requestDisallowInterceptTouchEvent` (which would
623
+ // cancel all gestures handled by its parent root view) but there may be some gestures attached
624
+ // to views under it which should work. Adding another root view under that particular view
625
+ // would allow the gesture to be recognized even though the parent root view cancelled its gestures.
626
+ // We want to stop here so the gesture receives event only once.
627
+ false
628
+ } else {
629
+ when (viewConfigHelper.getPointerEventsConfigForView(view)) {
630
+ PointerEventsConfig.NONE -> {
631
+ // This view and its children can't be the target
632
+ false
633
+ }
634
+ PointerEventsConfig.BOX_ONLY -> {
635
+ // This view is the target, its children don't matter
636
+ (
637
+ recordViewHandlersForPointer(view, coords, pointerId, event) ||
638
+ shouldHandlerlessViewBecomeTouchTarget(view, coords)
639
+ )
640
+ }
641
+ PointerEventsConfig.BOX_NONE -> {
642
+ // This view can't be the target, but its children might
643
+ when (view) {
644
+ is ViewGroup -> {
645
+ extractGestureHandlers(view, coords, pointerId, event).also { found ->
646
+ // A child view is handling touch, also extract handlers attached to this view
647
+ if (found) {
648
+ recordViewHandlersForPointer(view, coords, pointerId, event)
649
+ }
618
650
  }
619
651
  }
652
+ // When <TextInput> has editable set to `false` getPointerEventsConfigForView returns
653
+ // `BOX_NONE` as it's `isEnabled` property is false. In this case we still want to extract
654
+ // handlers attached to the text input, as it makes sense that gestures would work on a
655
+ // non-editable TextInput.
656
+ is EditText -> {
657
+ recordViewHandlersForPointer(view, coords, pointerId, event)
658
+ }
659
+ else -> false
620
660
  }
621
- // When <TextInput> has editable set to `false` getPointerEventsConfigForView returns
622
- // `BOX_NONE` as it's `isEnabled` property is false. In this case we still want to extract
623
- // handlers attached to the text input, as it makes sense that gestures would work on a
624
- // non-editable TextInput.
625
- is EditText -> {
626
- recordViewHandlersForPointer(view, coords, pointerId, event)
627
- }
628
- else -> false
629
- }
630
- }
631
- PointerEventsConfig.AUTO -> {
632
- // Either this view or one of its children is the target
633
- val found = if (view is ViewGroup) {
634
- extractGestureHandlers(view, coords, pointerId, event)
635
- } else {
636
- false
637
661
  }
662
+ PointerEventsConfig.AUTO -> {
663
+ // Either this view or one of its children is the target
664
+ val found = if (view is ViewGroup) {
665
+ extractGestureHandlers(view, coords, pointerId, event)
666
+ } else {
667
+ false
668
+ }
638
669
 
639
- (
640
- recordViewHandlersForPointer(view, coords, pointerId, event) ||
641
- found ||
642
- shouldHandlerlessViewBecomeTouchTarget(view, coords)
643
- )
670
+ (
671
+ recordViewHandlersForPointer(view, coords, pointerId, event) ||
672
+ found ||
673
+ shouldHandlerlessViewBecomeTouchTarget(view, coords)
674
+ )
675
+ }
644
676
  }
645
677
  }
646
678
 
@@ -262,13 +262,13 @@ class RNGestureHandlerButtonViewManager :
262
262
  }
263
263
  }
264
264
 
265
- override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
266
- if (super.onInterceptTouchEvent(ev)) {
265
+ override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
266
+ if (super.onInterceptTouchEvent(event)) {
267
267
  return true
268
268
  }
269
269
  // We call `onTouchEvent` and wait until button changes state to `pressed`, if it's pressed
270
270
  // we return true so that the gesture handler can activate.
271
- onTouchEvent(ev)
271
+ onTouchEvent(event)
272
272
  return isPressed
273
273
  }
274
274
 
@@ -441,6 +441,7 @@ class RNGestureHandlerButtonViewManager :
441
441
  if (isResponder) {
442
442
  isTouched = true
443
443
  }
444
+
444
445
  return isResponder
445
446
  }
446
447
 
@@ -515,16 +516,6 @@ class RNGestureHandlerButtonViewManager :
515
516
  }
516
517
 
517
518
  override fun setPressed(pressed: Boolean) {
518
- // there is a possibility of this method being called before NativeViewGestureHandler has
519
- // opportunity to call canStart, in that case we need to grab responder in case the gesture
520
- // will activate
521
- // when canStart is called eventually, tryGrabbingResponder will return true if the button
522
- // already is a responder
523
- if (pressed) {
524
- if (tryGrabbingResponder()) {
525
- soundResponder = this
526
- }
527
- }
528
519
  // button can be pressed alongside other button if both are non-exclusive and it doesn't have
529
520
  // any pressed children (to prevent pressing the parent when children is pressed).
530
521
  val canBePressedAlongsideOther = !exclusive && touchResponder?.exclusive != true && !isChildTouched()
@@ -535,6 +526,7 @@ class RNGestureHandlerButtonViewManager :
535
526
  isTouched = pressed
536
527
  super.setPressed(pressed)
537
528
  }
529
+
538
530
  if (!pressed && touchResponder === this) {
539
531
  // if the responder is no longer pressed we release button responder
540
532
  isTouched = false
@@ -110,12 +110,12 @@ class RNGestureHandlerRootHelper(private val context: ReactContext, wrappedView:
110
110
  }
111
111
  }
112
112
 
113
- fun dispatchTouchEvent(ev: MotionEvent): Boolean {
113
+ fun dispatchTouchEvent(event: MotionEvent): Boolean {
114
114
  // We mark `mPassingTouch` before we get into `mOrchestrator.onTouchEvent` so that we can tell
115
115
  // if `requestDisallow` has been called as a result of a normal gesture handling process or
116
116
  // as a result of one of the gesture handlers activating
117
117
  passingTouch = true
118
- orchestrator!!.onTouchEvent(ev)
118
+ orchestrator!!.onTouchEvent(event)
119
119
  passingTouch = false
120
120
  return shouldIntercept
121
121
  }
@@ -13,10 +13,12 @@ import com.facebook.react.views.view.ReactViewGroup
13
13
 
14
14
  class RNGestureHandlerRootView(context: Context?) : ReactViewGroup(context) {
15
15
  private var rootViewEnabled = false
16
+ private var unstableForceActive = false
16
17
  private var rootHelper: RNGestureHandlerRootHelper? = null // TODO: resettable lateinit
18
+
17
19
  override fun onAttachedToWindow() {
18
20
  super.onAttachedToWindow()
19
- rootViewEnabled = !hasGestureHandlerEnabledRootView(this)
21
+ rootViewEnabled = unstableForceActive || !hasGestureHandlerEnabledRootView(this)
20
22
  if (!rootViewEnabled) {
21
23
  Log.i(
22
24
  ReactConstants.TAG,
@@ -32,17 +34,17 @@ class RNGestureHandlerRootView(context: Context?) : ReactViewGroup(context) {
32
34
  rootHelper?.tearDown()
33
35
  }
34
36
 
35
- override fun dispatchTouchEvent(ev: MotionEvent) = if (rootViewEnabled && rootHelper!!.dispatchTouchEvent(ev)) {
37
+ override fun dispatchTouchEvent(event: MotionEvent) = if (rootViewEnabled && rootHelper!!.dispatchTouchEvent(event)) {
36
38
  true
37
39
  } else {
38
- super.dispatchTouchEvent(ev)
40
+ super.dispatchTouchEvent(event)
39
41
  }
40
42
 
41
- override fun dispatchGenericMotionEvent(event: MotionEvent) =
42
- if (rootViewEnabled && rootHelper!!.dispatchTouchEvent(event)) {
43
+ override fun dispatchGenericMotionEvent(ev: MotionEvent) =
44
+ if (rootViewEnabled && rootHelper!!.dispatchTouchEvent(ev)) {
43
45
  true
44
46
  } else {
45
- super.dispatchGenericMotionEvent(event)
47
+ super.dispatchGenericMotionEvent(ev)
46
48
  }
47
49
 
48
50
  override fun requestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {
@@ -56,6 +58,12 @@ class RNGestureHandlerRootView(context: Context?) : ReactViewGroup(context) {
56
58
  rootHelper?.activateNativeHandlers(view)
57
59
  }
58
60
 
61
+ fun isRootViewEnabled() = rootViewEnabled
62
+
63
+ fun setUnstableForceActive(active: Boolean) {
64
+ this.unstableForceActive = active
65
+ }
66
+
59
67
  companion object {
60
68
  private fun hasGestureHandlerEnabledRootView(viewGroup: ViewGroup): Boolean {
61
69
  UiThreadUtil.assertOnUiThread()
@@ -4,6 +4,7 @@ import com.facebook.react.module.annotations.ReactModule
4
4
  import com.facebook.react.uimanager.ThemedReactContext
5
5
  import com.facebook.react.uimanager.ViewGroupManager
6
6
  import com.facebook.react.uimanager.ViewManagerDelegate
7
+ import com.facebook.react.uimanager.annotations.ReactProp
7
8
  import com.facebook.react.viewmanagers.RNGestureHandlerRootViewManagerDelegate
8
9
  import com.facebook.react.viewmanagers.RNGestureHandlerRootViewManagerInterface
9
10
 
@@ -32,6 +33,11 @@ class RNGestureHandlerRootViewManager :
32
33
  view.tearDown()
33
34
  }
34
35
 
36
+ @ReactProp(name = "unstable_forceActive")
37
+ override fun setUnstable_forceActive(view: RNGestureHandlerRootView, active: Boolean) {
38
+ view.setUnstableForceActive(active)
39
+ }
40
+
35
41
  /**
36
42
  * The following event configuration is necessary even if you are not using
37
43
  * GestureHandlerRootView component directly.
@@ -53,6 +53,8 @@
53
53
  _lastPoint = [[[touches allObjects] objectAtIndex:0] locationInView:_gestureHandler.recognizer.view];
54
54
  [super touchesEnded:touches withEvent:event];
55
55
  [_gestureHandler.pointerTracker touchesEnded:touches withEvent:event];
56
+
57
+ [self triggerAction];
56
58
  }
57
59
 
58
60
  - (void)touchesCancelled:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event
@@ -60,6 +62,8 @@
60
62
  _lastPoint = [[[touches allObjects] objectAtIndex:0] locationInView:_gestureHandler.recognizer.view];
61
63
  [super touchesCancelled:touches withEvent:event];
62
64
  [_gestureHandler.pointerTracker touchesCancelled:touches withEvent:event];
65
+
66
+ [self triggerAction];
63
67
  }
64
68
 
65
69
  - (void)triggerAction
@@ -69,7 +73,9 @@
69
73
 
70
74
  - (void)reset
71
75
  {
72
- [self triggerAction];
76
+ // TODO: On iOS 26 swiping in "wrong" direction doesn't send `onFinalize` callback. This is because now in `reset`
77
+ // default state is `UIGestureRecognizerStatePossible`
78
+ [self triggerAction]; // Keeping it will not break old iOS because we check if we do not send the same state twice.
73
79
  [_gestureHandler.pointerTracker reset];
74
80
  _hasBegan = NO;
75
81
  [super reset];
@@ -95,6 +95,8 @@
95
95
  self.state = UIGestureRecognizerStateFailed;
96
96
  self.enabled = NO;
97
97
  self.enabled = YES;
98
+
99
+ [self triggerAction];
98
100
  }
99
101
  }
100
102
 
@@ -102,12 +104,16 @@
102
104
  {
103
105
  [super touchesEnded:touches withEvent:event];
104
106
  [_gestureHandler.pointerTracker touchesEnded:touches withEvent:event];
107
+
108
+ [self triggerAction];
105
109
  }
106
110
 
107
111
  - (void)touchesCancelled:(NSSet<RNGHUITouch *> *)touches withEvent:(UIEvent *)event
108
112
  {
109
113
  [super touchesCancelled:touches withEvent:event];
110
114
  [_gestureHandler.pointerTracker touchesCancelled:touches withEvent:event];
115
+
116
+ [self triggerAction];
111
117
  }
112
118
 
113
119
  #else
@@ -181,10 +187,6 @@
181
187
 
182
188
  - (void)reset
183
189
  {
184
- if (self.state == UIGestureRecognizerStateFailed) {
185
- [self triggerAction];
186
- }
187
-
188
190
  [_gestureHandler.pointerTracker reset];
189
191
 
190
192
  [super reset];
@@ -165,6 +165,8 @@
165
165
  // UIGestureRecognizerStateFailed here. Making the behavior explicit.
166
166
  self.state = (self.state == UIGestureRecognizerStatePossible) ? UIGestureRecognizerStateFailed
167
167
  : UIGestureRecognizerStateCancelled;
168
+
169
+ [self triggerAction];
168
170
  [self reset];
169
171
  return;
170
172
  }
@@ -191,6 +193,7 @@
191
193
  #if !TARGET_OS_TV && !TARGET_OS_OSX
192
194
  [self tryUpdateStylusData:event];
193
195
  #endif
196
+ [self triggerAction];
194
197
  }
195
198
 
196
199
  - (void)interactionsCancelled:(NSSet *)touches withEvent:(UIEvent *)event
@@ -199,6 +202,7 @@
199
202
  #if !TARGET_OS_TV && !TARGET_OS_OSX
200
203
  [self tryUpdateStylusData:event];
201
204
  #endif
205
+ [self triggerAction];
202
206
  }
203
207
 
204
208
  #if TARGET_OS_OSX
@@ -255,7 +259,6 @@
255
259
 
256
260
  - (void)reset
257
261
  {
258
- [self triggerAction];
259
262
  [_gestureHandler.pointerTracker reset];
260
263
  [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(activateAfterLongPress) object:nil];
261
264
  self.enabled = YES;
@@ -116,7 +116,6 @@ static const NSTimeInterval defaultMaxDuration = 0.5;
116
116
 
117
117
  if ([self shouldFailUnderCustomCriteria]) {
118
118
  self.state = UIGestureRecognizerStateFailed;
119
- [self triggerAction];
120
119
  [self reset];
121
120
  return;
122
121
  }
@@ -141,6 +140,7 @@ static const NSTimeInterval defaultMaxDuration = 0.5;
141
140
  {
142
141
  [_gestureHandler.pointerTracker touchesCancelled:touches withEvent:event];
143
142
  self.state = UIGestureRecognizerStateCancelled;
143
+
144
144
  [self reset];
145
145
  }
146
146
 
@@ -246,6 +246,7 @@ static const NSTimeInterval defaultMaxDuration = 0.5;
246
246
  if (self.state == UIGestureRecognizerStateFailed) {
247
247
  [self triggerAction];
248
248
  }
249
+
249
250
  [_gestureHandler.pointerTracker reset];
250
251
 
251
252
  [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(cancel) object:nil];
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_init","_GestureHandlerRootViewContext","_interopRequireDefault","_RNGestureHandlerRootViewNativeComponent","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GestureHandlerRootView","style","rest","maybeInitializeFabric","jsx","Provider","value","children","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/GestureHandlerRootView.android.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,wCAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAAqG,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAQ,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAKtF,SAASgB,sBAAsBA,CAAC;EAC7CC,KAAK;EACL,GAAGC;AACwB,CAAC,EAAE;EAC9B;EACA;EACA;EACA,IAAAC,2BAAqB,EAAC,CAAC;EAEvB,oBACE,IAAAvB,WAAA,CAAAwB,GAAA,EAAC3B,8BAAA,CAAAM,OAA6B,CAACsB,QAAQ;IAACC,KAAK;IAAAC,QAAA,eAC3C,IAAA3B,WAAA,CAAAwB,GAAA,EAACzB,wCAAA,CAAAI,OAAqC;MACpCkB,KAAK,EAAEA,KAAK,IAAIO,MAAM,CAACC,SAAU;MAAA,GAC7BP;IAAI,CACT;EAAC,CACoC,CAAC;AAE7C;AAEA,MAAMM,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,IAAI,EAAE;EAAE;AACvB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_init","_GestureHandlerRootViewContext","_interopRequireDefault","_RNGestureHandlerRootViewNativeComponent","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GestureHandlerRootView","style","rest","maybeInitializeFabric","jsx","Provider","value","children","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/GestureHandlerRootView.android.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,wCAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAAqG,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAI,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAQ,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAKtF,SAASgB,sBAAsBA,CAAC;EAC7CC,KAAK;EACL,GAAGC;AACwB,CAAC,EAAE;EAC9B;EACA;EACA;EACA,IAAAC,2BAAqB,EAAC,CAAC;EAEvB,oBACE,IAAAvB,WAAA,CAAAwB,GAAA,EAAC3B,8BAAA,CAAAM,OAA6B,CAACsB,QAAQ;IAACC,KAAK;IAAAC,QAAA,eAC3C,IAAA3B,WAAA,CAAAwB,GAAA,EAACzB,wCAAA,CAAAI,OAAqC;MACpCkB,KAAK,EAAEA,KAAK,IAAIO,MAAM,CAACC,SAAU;MAAA,GAC7BP;IAAI,CACT;EAAC,CACoC,CAAC;AAE7C;AAEA,MAAMM,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,IAAI,EAAE;EAAE;AACvB,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_init","_GestureHandlerRootViewContext","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GestureHandlerRootView","style","rest","maybeInitializeFabric","jsx","Provider","value","children","View","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/GestureHandlerRootView.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA6E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAI,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAK9D,SAASgB,sBAAsBA,CAAC;EAC7CC,KAAK;EACL,GAAGC;AACwB,CAAC,EAAE;EAC9B;EACA;EACA;EACA,IAAAC,2BAAqB,EAAC,CAAC;EAEvB,oBACE,IAAAvB,WAAA,CAAAwB,GAAA,EAAC1B,8BAAA,CAAAK,OAA6B,CAACsB,QAAQ;IAACC,KAAK;IAAAC,QAAA,eAC3C,IAAA3B,WAAA,CAAAwB,GAAA,EAAC5B,YAAA,CAAAgC,IAAI;MAACP,KAAK,EAAEA,KAAK,IAAIQ,MAAM,CAACC,SAAU;MAAA,GAAKR;IAAI,CAAG;EAAC,CACd,CAAC;AAE7C;AAEA,MAAMO,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,IAAI,EAAE;EAAE;AACvB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_init","_GestureHandlerRootViewContext","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GestureHandlerRootView","style","rest","maybeInitializeFabric","jsx","Provider","value","children","View","styles","container","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/GestureHandlerRootView.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA6E,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAI,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAM9D,SAASgB,sBAAsBA,CAAC;EAC7CC,KAAK;EACL,GAAGC;AACwB,CAAC,EAAE;EAC9B;EACA;EACA;EACA,IAAAC,2BAAqB,EAAC,CAAC;EAEvB,oBACE,IAAAvB,WAAA,CAAAwB,GAAA,EAAC1B,8BAAA,CAAAK,OAA6B,CAACsB,QAAQ;IAACC,KAAK;IAAAC,QAAA,eAC3C,IAAA3B,WAAA,CAAAwB,GAAA,EAAC5B,YAAA,CAAAgC,IAAI;MAACP,KAAK,EAAEA,KAAK,IAAIQ,MAAM,CAACC,SAAU;MAAA,GAAKR;IAAI,CAAG;EAAC,CACd,CAAC;AAE7C;AAEA,MAAMO,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IAAEG,IAAI,EAAE;EAAE;AACvB,CAAC,CAAC","ignoreList":[]}
@@ -173,9 +173,13 @@ const Pressable = props => {
173
173
  const pressableEvent = (0, _utils.gestureTouchToPressableEvent)(event);
174
174
  stateMachine.reset();
175
175
  handlePressOut(pressableEvent, false);
176
- }).onFinalize(() => {
176
+ }).onFinalize((_event, success) => {
177
177
  if (_reactNative.Platform.OS === 'web') {
178
- stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
178
+ if (success) {
179
+ stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
180
+ } else {
181
+ stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.CANCEL);
182
+ }
179
183
  handleFinalize();
180
184
  }
181
185
  }), [stateMachine, handleFinalize, handlePressOut]);
@@ -196,12 +200,18 @@ const Pressable = props => {
196
200
  // Gesture.Native().onStart() is broken with Android + hitSlop
197
201
  stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.NATIVE_START);
198
202
  }
199
- }).onFinalize(() => {
203
+ }).onFinalize((_event, success) => {
200
204
  if (_reactNative.Platform.OS !== 'web') {
201
205
  // On Web we use LongPress().onFinalize() instead of Native().onFinalize(),
202
206
  // as Native cancels on mouse move, and LongPress does not.
203
- stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
204
- handleFinalize();
207
+ if (success) {
208
+ stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.FINALIZE);
209
+ } else {
210
+ stateMachine.handleEvent(_stateDefinitions.StateMachineEvent.CANCEL);
211
+ }
212
+ if (_reactNative.Platform.OS !== 'ios') {
213
+ handleFinalize();
214
+ }
205
215
  }
206
216
  }), [stateMachine, handlePressOut, handleFinalize]);
207
217
  const isPressableEnabled = disabled !== true;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","_utils3","_stateDefinitions","_StateMachine","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","props","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","delayHoverOut","delayLongPress","unstable_pressDelay","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onLongPress","onLayout","style","children","android_disableSound","android_ripple","disabled","accessible","simultaneousWithExternalGesture","requireExternalGestureToFail","blocksExternalGesture","remainingProps","relationProps","pressedState","setPressedState","useState","longPressTimeoutRef","useRef","pressDelayTimeoutRef","isOnPressAllowed","isCurrentlyPressed","dimensions","width","height","normalizedHitSlop","useMemo","numberAsInset","normalizedPressRetentionOffset","appliedHitSlop","addInsets","cancelLongPress","useCallback","current","clearTimeout","cancelDelayedPress","startLongPress","event","setTimeout","innerHandlePressIn","handleFinalize","handlePressIn","isTouchWithinInset","nativeEvent","changedTouches","at","handlePressOut","success","stateMachine","PressableStateMachine","useEffect","configuration","getStatesConfig","setStates","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","gestureToPressableEvent","onFinalize","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","pressableEvent","gestureTouchToPressableEvent","handleEvent","StateMachineEvent","LONG_PRESS_TOUCHES_DOWN","onTouchesUp","Platform","OS","reset","onTouchesCancelled","FINALIZE","buttonGesture","Native","NATIVE_BEGIN","onStart","NATIVE_START","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","entries","forEach","relationName","relation","applyRelationProp","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","setDimensions","layout","jsx","GestureDetector","jsxs","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Pressable/Pressable.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_gestureObjects","_GestureDetector","_reactNative","_GestureHandlerButton","_interopRequireDefault","_utils","_PressabilityDebugView","_utils2","_utils3","_stateDefinitions","_StateMachine","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LONG_PRESS_DURATION","IS_TEST_ENV","isTestEnv","IS_FABRIC","Pressable","props","testOnly_pressed","hitSlop","pressRetentionOffset","delayHoverIn","delayHoverOut","delayLongPress","unstable_pressDelay","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onLongPress","onLayout","style","children","android_disableSound","android_ripple","disabled","accessible","simultaneousWithExternalGesture","requireExternalGestureToFail","blocksExternalGesture","remainingProps","relationProps","pressedState","setPressedState","useState","longPressTimeoutRef","useRef","pressDelayTimeoutRef","isOnPressAllowed","isCurrentlyPressed","dimensions","width","height","normalizedHitSlop","useMemo","numberAsInset","normalizedPressRetentionOffset","appliedHitSlop","addInsets","cancelLongPress","useCallback","current","clearTimeout","cancelDelayedPress","startLongPress","event","setTimeout","innerHandlePressIn","handleFinalize","handlePressIn","isTouchWithinInset","nativeEvent","changedTouches","at","handlePressOut","success","stateMachine","PressableStateMachine","useEffect","configuration","getStatesConfig","setStates","hoverInTimeout","hoverOutTimeout","hoverGesture","Gesture","Hover","manualActivation","cancelsTouchesInView","onBegin","gestureToPressableEvent","onFinalize","pressAndTouchGesture","LongPress","minDuration","INT32_MAX","maxDistance","onTouchesDown","pressableEvent","gestureTouchToPressableEvent","handleEvent","StateMachineEvent","LONG_PRESS_TOUCHES_DOWN","onTouchesUp","Platform","OS","reset","onTouchesCancelled","_event","FINALIZE","CANCEL","buttonGesture","Native","NATIVE_BEGIN","onStart","NATIVE_START","isPressableEnabled","gestures","gesture","enabled","runOnJS","shouldCancelWhenOutside","entries","forEach","relationName","relation","applyRelationProp","Simultaneous","pointerStyle","cursor","styleProp","pressed","childrenProp","rippleColor","isFabric","defaultRippleColor","undefined","unprocessedRippleColor","color","processColor","setDimensions","layout","jsx","GestureDetector","jsxs","touchSoundDisabled","rippleRadius","radius","testOnly_onPress","testOnly_onPressIn","testOnly_onPressOut","testOnly_onLongPress","__DEV__","PressabilityDebugView","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Pressable/Pressable.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ let StateMachineEvent = exports.StateMachineEvent = /*#__PURE__*/function (State
11
11
  StateMachineEvent["NATIVE_START"] = "nativeStart";
12
12
  StateMachineEvent["FINALIZE"] = "finalize";
13
13
  StateMachineEvent["LONG_PRESS_TOUCHES_DOWN"] = "longPressTouchesDown";
14
+ StateMachineEvent["CANCEL"] = "cancel";
14
15
  return StateMachineEvent;
15
16
  }({});
16
17
  function getAndroidStatesConfig(handlePressIn, handlePressOut) {