react-native-gesture-handler 2.7.1 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. package/android/build.gradle +10 -5
  2. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +3 -3
  3. package/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +7 -7
  4. package/android/src/fabric/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +2 -2
  5. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +3 -3
  6. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/FlingGestureHandler.kt +12 -9
  7. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandler.kt +39 -31
  8. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerInteractionController.kt +1 -1
  9. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerOrchestrator.kt +28 -19
  10. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureHandlerRegistry.kt +1 -1
  11. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/GestureUtils.kt +1 -1
  12. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/LongPressGestureHandler.kt +1 -1
  13. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ManualGestureHandler.kt +1 -1
  14. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/NativeViewGestureHandler.kt +5 -5
  15. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/OnTouchEventListener.kt +1 -1
  16. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PanGestureHandler.kt +7 -5
  17. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PinchGestureHandler.kt +11 -4
  18. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/PointerEventsConfig.kt +1 -1
  19. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureDetector.kt +1 -1
  20. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/RotationGestureHandler.kt +7 -2
  21. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ScaleGestureDetector.java +1 -1
  22. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/TapGestureHandler.kt +3 -3
  23. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/core}/ViewConfigurationHelper.kt +1 -1
  24. package/android/{lib/src/main/java/com/swmansion/gesturehandler → src/main/java/com/swmansion/gesturehandler/react}/Extensions.kt +3 -3
  25. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +7 -6
  26. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +1 -5
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +6 -6
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +1 -1
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +3 -3
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +35 -14
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +2 -2
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +8 -6
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +0 -2
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +4 -2
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +7 -7
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +5 -5
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +2 -2
  38. package/android/src/paper/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +5 -5
  39. package/ios/Handlers/RNManualHandler.m +24 -8
  40. package/ios/RNGestureHandlerButtonComponentView.mm +7 -8
  41. package/ios/RNGestureHandlerManager.mm +176 -178
  42. package/lib/commonjs/RNGestureHandlerModule.macos.js.map +1 -1
  43. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  44. package/lib/commonjs/RNGestureHandlerModule.windows.js +156 -0
  45. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -0
  46. package/lib/commonjs/components/DrawerLayout.js +1 -0
  47. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  48. package/lib/commonjs/components/Swipeable.js.map +1 -1
  49. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  50. package/lib/commonjs/getShadowNodeFromRef.js +2 -2
  51. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  52. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  53. package/lib/commonjs/handlers/gestureHandlerCommon.js +5 -2
  54. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  55. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +4 -0
  56. package/lib/commonjs/handlers/gestures/GestureDetector.js +17 -10
  57. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  58. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  59. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  60. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  61. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  62. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -1
  63. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  64. package/lib/commonjs/web/handlers/GestureHandler.js +28 -3
  65. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  66. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -1
  67. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  68. package/lib/commonjs/web/handlers/ManualGestureHandler.js +15 -0
  69. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  70. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -2
  71. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  72. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -5
  73. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  74. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -1
  75. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  76. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -1
  77. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  78. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -1
  79. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  80. package/lib/commonjs/web/interfaces.js.map +1 -1
  81. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  82. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  83. package/lib/commonjs/web_hammer/NodeManager.js +4 -1
  84. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  85. package/lib/commonjs/web_hammer/PanGestureHandler.js +25 -6
  86. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  87. package/lib/module/RNGestureHandlerModule.macos.js.map +1 -1
  88. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  89. package/lib/module/RNGestureHandlerModule.windows.js +117 -0
  90. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -0
  91. package/lib/module/components/DrawerLayout.js +1 -0
  92. package/lib/module/components/DrawerLayout.js.map +1 -1
  93. package/lib/module/components/Swipeable.js.map +1 -1
  94. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  95. package/lib/module/getShadowNodeFromRef.js +2 -2
  96. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  97. package/lib/module/handlers/createHandler.js.map +1 -1
  98. package/lib/module/handlers/gestureHandlerCommon.js +5 -2
  99. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  100. package/lib/module/handlers/gestureHandlerTypesCompat.js +1 -1
  101. package/lib/module/handlers/gestures/GestureDetector.js +17 -10
  102. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  103. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  104. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  105. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  106. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  107. package/lib/module/web/handlers/FlingGestureHandler.js +0 -1
  108. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  109. package/lib/module/web/handlers/GestureHandler.js +28 -3
  110. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  111. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -1
  112. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  113. package/lib/module/web/handlers/ManualGestureHandler.js +15 -0
  114. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  115. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -2
  116. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  117. package/lib/module/web/handlers/PanGestureHandler.js +0 -5
  118. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  119. package/lib/module/web/handlers/PinchGestureHandler.js +0 -1
  120. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  121. package/lib/module/web/handlers/RotationGestureHandler.js +0 -1
  122. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  123. package/lib/module/web/handlers/TapGestureHandler.js +0 -1
  124. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  125. package/lib/module/web/interfaces.js.map +1 -1
  126. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  127. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  128. package/lib/module/web_hammer/NodeManager.js +4 -1
  129. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  130. package/lib/module/web_hammer/PanGestureHandler.js +25 -6
  131. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  132. package/lib/typescript/RNGestureHandlerModule.macos.d.ts +1 -1
  133. package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
  134. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +48 -0
  135. package/lib/typescript/components/DrawerLayout.d.ts +7 -0
  136. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
  137. package/lib/typescript/handlers/PanGestureHandler.d.ts +1 -1
  138. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +3 -1
  139. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +3 -1
  140. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +3 -1
  141. package/lib/typescript/web/interfaces.d.ts +3 -1
  142. package/lib/typescript/web/tools/NodeManager.d.ts +2 -2
  143. package/package.json +14 -10
  144. package/src/RNGestureHandlerModule.macos.ts +2 -2
  145. package/src/RNGestureHandlerModule.web.ts +2 -2
  146. package/src/RNGestureHandlerModule.windows.ts +140 -0
  147. package/src/components/DrawerLayout.tsx +14 -8
  148. package/src/components/Swipeable.tsx +2 -4
  149. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  150. package/src/getShadowNodeFromRef.ts +3 -3
  151. package/src/handlers/createHandler.tsx +13 -15
  152. package/src/handlers/gestureHandlerCommon.ts +9 -4
  153. package/src/handlers/gestureHandlerTypesCompat.ts +34 -17
  154. package/src/handlers/gestures/GestureDetector.tsx +36 -16
  155. package/src/handlers/gestures/eventReceiver.ts +2 -1
  156. package/src/handlers/gestures/gesture.ts +8 -12
  157. package/src/jestUtils/jestUtils.ts +3 -4
  158. package/src/web/detectors/RotationGestureDetector.ts +2 -1
  159. package/src/web/handlers/FlingGestureHandler.ts +2 -3
  160. package/src/web/handlers/GestureHandler.ts +30 -11
  161. package/src/web/handlers/LongPressGestureHandler.ts +0 -2
  162. package/src/web/handlers/ManualGestureHandler.ts +10 -1
  163. package/src/web/handlers/NativeViewGestureHandler.ts +0 -2
  164. package/src/web/handlers/PanGestureHandler.ts +0 -6
  165. package/src/web/handlers/PinchGestureHandler.ts +0 -2
  166. package/src/web/handlers/RotationGestureHandler.ts +2 -5
  167. package/src/web/handlers/TapGestureHandler.ts +0 -2
  168. package/src/web/interfaces.ts +3 -0
  169. package/src/web/tools/InteractionManager.ts +2 -3
  170. package/src/web_hammer/GestureHandler.ts +6 -8
  171. package/src/web_hammer/NodeManager.ts +3 -1
  172. package/src/web_hammer/PanGestureHandler.ts +12 -6
  173. package/android/lib/build.gradle +0 -28
@@ -1,160 +1,158 @@
1
1
  #import "RNGestureHandlerManager.h"
2
2
 
3
- #import <React/RCTLog.h>
4
- #import <React/RCTViewManager.h>
5
3
  #import <React/RCTComponent.h>
6
- #import <React/RCTRootView.h>
7
- #import <React/RCTUIManager.h>
8
4
  #import <React/RCTEventDispatcher.h>
5
+ #import <React/RCTLog.h>
9
6
  #import <React/RCTRootContentView.h>
7
+ #import <React/RCTRootView.h>
8
+ #import <React/RCTUIManager.h>
9
+ #import <React/RCTViewManager.h>
10
10
 
11
- #import "RNGestureHandlerActionType.h"
12
- #import "RNGestureHandlerState.h"
13
11
  #import "RNGestureHandler.h"
12
+ #import "RNGestureHandlerActionType.h"
14
13
  #import "RNGestureHandlerRegistry.h"
14
+ #import "RNGestureHandlerState.h"
15
15
  #import "RNRootViewGestureRecognizer.h"
16
16
 
17
17
  #ifdef RN_FABRIC_ENABLED
18
- #import <React/RCTViewComponentView.h>
19
18
  #import <React/RCTSurfaceTouchHandler.h>
19
+ #import <React/RCTViewComponentView.h>
20
20
  #else
21
21
  #import <React/RCTTouchHandler.h>
22
22
  #endif // RN_FABRIC_ENABLED
23
23
 
24
- #import "Handlers/RNPanHandler.h"
25
- #import "Handlers/RNTapHandler.h"
26
24
  #import "Handlers/RNFlingHandler.h"
25
+ #import "Handlers/RNForceTouchHandler.h"
27
26
  #import "Handlers/RNLongPressHandler.h"
27
+ #import "Handlers/RNManualHandler.h"
28
28
  #import "Handlers/RNNativeViewHandler.h"
29
+ #import "Handlers/RNPanHandler.h"
29
30
  #import "Handlers/RNPinchHandler.h"
30
31
  #import "Handlers/RNRotationHandler.h"
31
- #import "Handlers/RNForceTouchHandler.h"
32
- #import "Handlers/RNManualHandler.h"
32
+ #import "Handlers/RNTapHandler.h"
33
33
 
34
34
  // We use the method below instead of RCTLog because we log out messages after the bridge gets
35
35
  // turned down in some cases. Which normally with RCTLog would cause a crash in DEBUG mode
36
- #define RCTLifecycleLog(...) RCTDefaultLogFunction(RCTLogLevelInfo, RCTLogSourceNative, @(__FILE__), @(__LINE__), [NSString stringWithFormat:__VA_ARGS__])
36
+ #define RCTLifecycleLog(...) \
37
+ RCTDefaultLogFunction( \
38
+ RCTLogLevelInfo, RCTLogSourceNative, @(__FILE__), @(__LINE__), [NSString stringWithFormat:__VA_ARGS__])
37
39
 
38
40
  @interface RNGestureHandlerManager () <RNGestureHandlerEventEmitter, RNRootViewGestureRecognizerDelegate>
39
41
 
40
42
  @end
41
43
 
42
- @implementation RNGestureHandlerManager
43
- {
44
- RNGestureHandlerRegistry *_registry;
45
- RCTUIManager *_uiManager;
46
- NSHashTable<RNRootViewGestureRecognizer *> *_rootViewGestureRecognizers;
47
- RCTEventDispatcher *_eventDispatcher;
48
- id _reanimatedModule;
44
+ @implementation RNGestureHandlerManager {
45
+ RNGestureHandlerRegistry *_registry;
46
+ RCTUIManager *_uiManager;
47
+ NSHashTable<RNRootViewGestureRecognizer *> *_rootViewGestureRecognizers;
48
+ RCTEventDispatcher *_eventDispatcher;
49
+ id _reanimatedModule;
49
50
  }
50
51
 
51
- - (instancetype)initWithUIManager:(RCTUIManager *)uiManager
52
- eventDispatcher:(RCTEventDispatcher *)eventDispatcher
52
+ - (instancetype)initWithUIManager:(RCTUIManager *)uiManager eventDispatcher:(RCTEventDispatcher *)eventDispatcher
53
53
  {
54
- if ((self = [super init])) {
55
- _uiManager = uiManager;
56
- _eventDispatcher = eventDispatcher;
57
- _registry = [RNGestureHandlerRegistry new];
58
- _rootViewGestureRecognizers = [NSHashTable hashTableWithOptions:NSPointerFunctionsWeakMemory];
59
- _reanimatedModule = nil;
60
- }
61
- return self;
54
+ if ((self = [super init])) {
55
+ _uiManager = uiManager;
56
+ _eventDispatcher = eventDispatcher;
57
+ _registry = [RNGestureHandlerRegistry new];
58
+ _rootViewGestureRecognizers = [NSHashTable hashTableWithOptions:NSPointerFunctionsWeakMemory];
59
+ _reanimatedModule = nil;
60
+ }
61
+ return self;
62
62
  }
63
63
 
64
- - (void)createGestureHandler:(NSString *)handlerName
65
- tag:(NSNumber *)handlerTag
66
- config:(NSDictionary *)config
64
+ - (void)createGestureHandler:(NSString *)handlerName tag:(NSNumber *)handlerTag config:(NSDictionary *)config
67
65
  {
68
- static NSDictionary *map;
69
- static dispatch_once_t mapToken;
70
- dispatch_once(&mapToken, ^{
71
- map = @{
72
- @"PanGestureHandler" : [RNPanGestureHandler class],
73
- @"TapGestureHandler" : [RNTapGestureHandler class],
74
- @"FlingGestureHandler" : [RNFlingGestureHandler class],
75
- @"LongPressGestureHandler": [RNLongPressGestureHandler class],
76
- @"NativeViewGestureHandler": [RNNativeViewGestureHandler class],
77
- @"PinchGestureHandler": [RNPinchGestureHandler class],
78
- @"RotationGestureHandler": [RNRotationGestureHandler class],
79
- @"ForceTouchGestureHandler": [RNForceTouchHandler class],
80
- @"ManualGestureHandler": [RNManualGestureHandler class],
81
- };
82
- });
83
-
84
- Class nodeClass = map[handlerName];
85
- if (!nodeClass) {
86
- RCTLogError(@"Gesture handler type %@ is not supported", handlerName);
87
- return;
88
- }
89
-
90
- RNGestureHandler *gestureHandler = [[nodeClass alloc] initWithTag:handlerTag];
91
- [gestureHandler configure:config];
92
- [_registry registerGestureHandler:gestureHandler];
93
-
94
- __weak id<RNGestureHandlerEventEmitter> emitter = self;
95
- gestureHandler.emitter = emitter;
66
+ static NSDictionary *map;
67
+ static dispatch_once_t mapToken;
68
+ dispatch_once(&mapToken, ^{
69
+ map = @{
70
+ @"PanGestureHandler" : [RNPanGestureHandler class],
71
+ @"TapGestureHandler" : [RNTapGestureHandler class],
72
+ @"FlingGestureHandler" : [RNFlingGestureHandler class],
73
+ @"LongPressGestureHandler" : [RNLongPressGestureHandler class],
74
+ @"NativeViewGestureHandler" : [RNNativeViewGestureHandler class],
75
+ @"PinchGestureHandler" : [RNPinchGestureHandler class],
76
+ @"RotationGestureHandler" : [RNRotationGestureHandler class],
77
+ @"ForceTouchGestureHandler" : [RNForceTouchHandler class],
78
+ @"ManualGestureHandler" : [RNManualGestureHandler class],
79
+ };
80
+ });
81
+
82
+ Class nodeClass = map[handlerName];
83
+ if (!nodeClass) {
84
+ RCTLogError(@"Gesture handler type %@ is not supported", handlerName);
85
+ return;
86
+ }
87
+
88
+ RNGestureHandler *gestureHandler = [[nodeClass alloc] initWithTag:handlerTag];
89
+ [gestureHandler configure:config];
90
+ [_registry registerGestureHandler:gestureHandler];
91
+
92
+ __weak id<RNGestureHandlerEventEmitter> emitter = self;
93
+ gestureHandler.emitter = emitter;
96
94
  }
97
95
 
98
-
99
96
  - (void)attachGestureHandler:(nonnull NSNumber *)handlerTag
100
97
  toViewWithTag:(nonnull NSNumber *)viewTag
101
98
  withActionType:(RNGestureHandlerActionType)actionType
102
99
  {
103
- UIView *view = [_uiManager viewForReactTag:viewTag];
104
-
100
+ UIView *view = [_uiManager viewForReactTag:viewTag];
101
+
105
102
  #ifdef RN_FABRIC_ENABLED
106
- if (view == nil) {
107
- // Happens when the view with given tag has been flattened.
108
- // We cannot attach gesture handler to a non-existent view.
109
- return;
103
+ if (view == nil) {
104
+ // Happens when the view with given tag has been flattened.
105
+ // We cannot attach gesture handler to a non-existent view.
106
+ return;
107
+ }
108
+
109
+ // I think it should be moved to RNNativeViewHandler, but that would require
110
+ // additional logic for setting contentView.reactTag, this works for now
111
+ if ([view isKindOfClass:[RCTViewComponentView class]]) {
112
+ RCTViewComponentView *componentView = (RCTViewComponentView *)view;
113
+ if (componentView.contentView != nil) {
114
+ view = componentView.contentView;
110
115
  }
111
-
112
- // I think it should be moved to RNNativeViewHandler, but that would require
113
- // additional logic for setting contentView.reactTag, this works for now
114
- if ([view isKindOfClass:[RCTViewComponentView class]]) {
115
- RCTViewComponentView *componentView = (RCTViewComponentView *)view;
116
- if (componentView.contentView != nil) {
117
- view = componentView.contentView;
118
- }
119
- }
120
-
121
- view.reactTag = viewTag; // necessary for RNReanimated eventHash (e.g. "42onGestureHandlerEvent"), also will be returned as event.target
116
+ }
117
+
118
+ view.reactTag = viewTag; // necessary for RNReanimated eventHash (e.g. "42onGestureHandlerEvent"), also will be
119
+ // returned as event.target
122
120
  #endif // RN_FABRIC_ENABLED
123
121
 
124
- [_registry attachHandlerWithTag:handlerTag toView:view withActionType:actionType];
122
+ [_registry attachHandlerWithTag:handlerTag toView:view withActionType:actionType];
125
123
 
126
- // register view if not already there
127
- [self registerViewWithGestureRecognizerAttachedIfNeeded:view];
124
+ // register view if not already there
125
+ [self registerViewWithGestureRecognizerAttachedIfNeeded:view];
128
126
  }
129
127
 
130
128
  - (void)updateGestureHandler:(NSNumber *)handlerTag config:(NSDictionary *)config
131
129
  {
132
- RNGestureHandler *handler = [_registry handlerWithTag:handlerTag];
133
- [handler configure:config];
130
+ RNGestureHandler *handler = [_registry handlerWithTag:handlerTag];
131
+ [handler configure:config];
134
132
  }
135
133
 
136
134
  - (void)dropGestureHandler:(NSNumber *)handlerTag
137
135
  {
138
- [_registry dropHandlerWithTag:handlerTag];
136
+ [_registry dropHandlerWithTag:handlerTag];
139
137
  }
140
138
 
141
139
  - (void)dropAllGestureHandlers
142
140
  {
143
- [_registry dropAllHandlers];
141
+ [_registry dropAllHandlers];
144
142
  }
145
143
 
146
144
  - (void)handleSetJSResponder:(NSNumber *)viewTag blockNativeResponder:(NSNumber *)blockNativeResponder
147
145
  {
148
- if ([blockNativeResponder boolValue]) {
149
- for (RNRootViewGestureRecognizer *recognizer in _rootViewGestureRecognizers) {
150
- [recognizer blockOtherRecognizers];
151
- }
146
+ if ([blockNativeResponder boolValue]) {
147
+ for (RNRootViewGestureRecognizer *recognizer in _rootViewGestureRecognizers) {
148
+ [recognizer blockOtherRecognizers];
152
149
  }
150
+ }
153
151
  }
154
152
 
155
153
  - (void)handleClearJSResponder
156
154
  {
157
- // ignore...
155
+ // ignore...
158
156
  }
159
157
 
160
158
  - (id)handlerWithTag:(NSNumber *)handlerTag
@@ -162,145 +160,145 @@
162
160
  return [_registry handlerWithTag:handlerTag];
163
161
  }
164
162
 
165
-
166
163
  #pragma mark Root Views Management
167
164
 
168
165
  - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(UIView *)childView
169
166
  {
170
- UIView *parent = childView;
171
- while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)]) parent = parent.superview;
172
-
173
- // Many views can return the same touchHandler so we check if the one we want to register
174
- // is not already present in the set.
175
- UIView *touchHandlerView = [[parent performSelector:@selector(touchHandler)] view];
176
-
177
- if (touchHandlerView == nil) {
167
+ UIView *parent = childView;
168
+ while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)])
169
+ parent = parent.superview;
170
+
171
+ // Many views can return the same touchHandler so we check if the one we want to register
172
+ // is not already present in the set.
173
+ UIView *touchHandlerView = [[parent performSelector:@selector(touchHandler)] view];
174
+
175
+ if (touchHandlerView == nil) {
176
+ return;
177
+ }
178
+
179
+ for (UIGestureRecognizer *recognizer in touchHandlerView.gestureRecognizers) {
180
+ if ([recognizer isKindOfClass:[RNRootViewGestureRecognizer class]]) {
178
181
  return;
179
182
  }
180
-
181
- for (UIGestureRecognizer *recognizer in touchHandlerView.gestureRecognizers) {
182
- if ([recognizer isKindOfClass:[RNRootViewGestureRecognizer class]]) {
183
- return;
184
- }
185
- }
186
-
187
- RCTLifecycleLog(@"[GESTURE HANDLER] Initialize gesture handler for view %@", touchHandlerView);
188
- RNRootViewGestureRecognizer *recognizer = [RNRootViewGestureRecognizer new];
189
- recognizer.delegate = self;
190
- touchHandlerView.userInteractionEnabled = YES;
191
- [touchHandlerView addGestureRecognizer:recognizer];
192
- [_rootViewGestureRecognizers addObject:recognizer];
183
+ }
184
+
185
+ RCTLifecycleLog(@"[GESTURE HANDLER] Initialize gesture handler for view %@", touchHandlerView);
186
+ RNRootViewGestureRecognizer *recognizer = [RNRootViewGestureRecognizer new];
187
+ recognizer.delegate = self;
188
+ touchHandlerView.userInteractionEnabled = YES;
189
+ [touchHandlerView addGestureRecognizer:recognizer];
190
+ [_rootViewGestureRecognizers addObject:recognizer];
193
191
  }
194
192
 
195
193
  - (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
196
194
  didActivateInViewWithTouchHandler:(UIView *)viewWithTouchHandler
197
195
  {
198
- // Cancel touches in RN's root view in order to cancel all in-js recognizers
199
-
200
- // As scroll events are special-cased in RN responder implementation and sending them would
201
- // trigger JS responder change, we don't cancel touches if the handler that got activated is
202
- // a scroll recognizer. This way root view will keep sending touchMove and touchEnd events
203
- // and therefore allow JS responder to properly release the responder at the end of the touch
204
- // stream.
205
- // NOTE: this is not a proper fix and solving this problem requires upstream fixes to RN. In
206
- // particular if we have one PanHandler and ScrollView that can work simultaniously then when
207
- // the Pan handler activates it would still tigger cancel events.
208
- // Once the upstream fix lands the line below along with this comment can be removed
209
- if ([gestureRecognizer.view isKindOfClass:[UIScrollView class]]) return;
196
+ // Cancel touches in RN's root view in order to cancel all in-js recognizers
197
+
198
+ // As scroll events are special-cased in RN responder implementation and sending them would
199
+ // trigger JS responder change, we don't cancel touches if the handler that got activated is
200
+ // a scroll recognizer. This way root view will keep sending touchMove and touchEnd events
201
+ // and therefore allow JS responder to properly release the responder at the end of the touch
202
+ // stream.
203
+ // NOTE: this is not a proper fix and solving this problem requires upstream fixes to RN. In
204
+ // particular if we have one PanHandler and ScrollView that can work simultaniously then when
205
+ // the Pan handler activates it would still tigger cancel events.
206
+ // Once the upstream fix lands the line below along with this comment can be removed
207
+ if ([gestureRecognizer.view isKindOfClass:[UIScrollView class]])
208
+ return;
210
209
 
211
210
  #ifdef RN_FABRIC_ENABLED
212
- RCTSurfaceTouchHandler *touchHandler = [viewWithTouchHandler performSelector:@selector(touchHandler)];
211
+ RCTSurfaceTouchHandler *touchHandler = [viewWithTouchHandler performSelector:@selector(touchHandler)];
213
212
  #else
214
- RCTTouchHandler *touchHandler = [viewWithTouchHandler performSelector:@selector(touchHandler)];
213
+ RCTTouchHandler *touchHandler = [viewWithTouchHandler performSelector:@selector(touchHandler)];
215
214
  #endif
216
- [touchHandler setEnabled:NO];
217
- [touchHandler setEnabled:YES];
218
-
215
+ [touchHandler setEnabled:NO];
216
+ [touchHandler setEnabled:YES];
219
217
  }
220
218
 
221
219
  #pragma mark Events
222
220
 
223
221
  - (void)sendEvent:(RNGestureHandlerStateChange *)event withActionType:(RNGestureHandlerActionType)actionType
224
222
  {
225
- switch (actionType) {
226
- case RNGestureHandlerActionTypeReanimatedWorklet:
227
- [self sendEventForReanimated:event];
228
- break;
229
-
230
- case RNGestureHandlerActionTypeNativeAnimatedEvent:
231
- if ([event.eventName isEqualToString:@"onGestureHandlerEvent"]) {
232
- [self sendEventForNativeAnimatedEvent:event];
233
- } else {
234
- // Although onGestureEvent prop is an Animated.event with useNativeDriver: true,
235
- // onHandlerStateChange prop is still a regular JS function.
236
- // Also, Animated.event is only supported with old API.
237
- [self sendEventForJSFunctionOldAPI:event];
238
- }
239
- break;
240
-
241
- case RNGestureHandlerActionTypeJSFunctionOldAPI:
242
- [self sendEventForJSFunctionOldAPI:event];
243
- break;
244
-
245
- case RNGestureHandlerActionTypeJSFunctionNewAPI:
246
- [self sendEventForJSFunctionNewAPI:event];
247
- break;
248
- }
223
+ switch (actionType) {
224
+ case RNGestureHandlerActionTypeReanimatedWorklet:
225
+ [self sendEventForReanimated:event];
226
+ break;
227
+
228
+ case RNGestureHandlerActionTypeNativeAnimatedEvent:
229
+ if ([event.eventName isEqualToString:@"onGestureHandlerEvent"]) {
230
+ [self sendEventForNativeAnimatedEvent:event];
231
+ } else {
232
+ // Although onGestureEvent prop is an Animated.event with useNativeDriver: true,
233
+ // onHandlerStateChange prop is still a regular JS function.
234
+ // Also, Animated.event is only supported with old API.
235
+ [self sendEventForJSFunctionOldAPI:event];
236
+ }
237
+ break;
238
+
239
+ case RNGestureHandlerActionTypeJSFunctionOldAPI:
240
+ [self sendEventForJSFunctionOldAPI:event];
241
+ break;
242
+
243
+ case RNGestureHandlerActionTypeJSFunctionNewAPI:
244
+ [self sendEventForJSFunctionNewAPI:event];
245
+ break;
246
+ }
249
247
  }
250
248
 
251
249
  - (void)sendEventForReanimated:(RNGestureHandlerStateChange *)event
252
250
  {
253
- // Delivers the event to Reanimated.
251
+ // Delivers the event to Reanimated.
254
252
  #ifdef RN_FABRIC_ENABLED
255
- // Send event directly to Reanimated
256
- if (_reanimatedModule == nil) {
257
- _reanimatedModule = [_uiManager.bridge moduleForName:@"ReanimatedModule"];
258
- }
259
-
260
- [_reanimatedModule eventDispatcherWillDispatchEvent:event];
253
+ // Send event directly to Reanimated
254
+ if (_reanimatedModule == nil) {
255
+ _reanimatedModule = [_uiManager.bridge moduleForName:@"ReanimatedModule"];
256
+ }
257
+
258
+ [_reanimatedModule eventDispatcherWillDispatchEvent:event];
261
259
  #else
262
- // In the old architecture, Reanimated overwrites RCTEventDispatcher
263
- // with REAEventDispatcher and intercepts all direct events.
264
- [self sendEventForDirectEvent:event];
260
+ // In the old architecture, Reanimated overwrites RCTEventDispatcher
261
+ // with REAEventDispatcher and intercepts all direct events.
262
+ [self sendEventForDirectEvent:event];
265
263
  #endif // RN_FABRIC_ENABLED
266
264
  }
267
265
 
268
266
  - (void)sendEventForNativeAnimatedEvent:(RNGestureHandlerStateChange *)event
269
267
  {
270
- // Delivers the event to NativeAnimatedModule.
271
- // Currently, NativeAnimated[Turbo]Module is RCTEventDispatcherObserver so we can
272
- // simply send a direct event which is handled by the observer but ignored on JS side.
273
- // TODO: send event directly to NativeAnimated[Turbo]Module
274
- [self sendEventForDirectEvent:event];
268
+ // Delivers the event to NativeAnimatedModule.
269
+ // Currently, NativeAnimated[Turbo]Module is RCTEventDispatcherObserver so we can
270
+ // simply send a direct event which is handled by the observer but ignored on JS side.
271
+ // TODO: send event directly to NativeAnimated[Turbo]Module
272
+ [self sendEventForDirectEvent:event];
275
273
  }
276
274
 
277
275
  - (void)sendEventForJSFunctionOldAPI:(RNGestureHandlerStateChange *)event
278
276
  {
279
- // Delivers the event to JS (old RNGH API).
277
+ // Delivers the event to JS (old RNGH API).
280
278
  #ifdef RN_FABRIC_ENABLED
281
- [self sendEventForDeviceEvent:event];
279
+ [self sendEventForDeviceEvent:event];
282
280
  #else
283
- [self sendEventForDirectEvent:event];
281
+ [self sendEventForDirectEvent:event];
284
282
  #endif // RN_FABRIC_ENABLED
285
283
  }
286
284
 
287
285
  - (void)sendEventForJSFunctionNewAPI:(RNGestureHandlerStateChange *)event
288
286
  {
289
- // Delivers the event to JS (new RNGH API).
290
- [self sendEventForDeviceEvent:event];
287
+ // Delivers the event to JS (new RNGH API).
288
+ [self sendEventForDeviceEvent:event];
291
289
  }
292
290
 
293
291
  - (void)sendEventForDirectEvent:(RNGestureHandlerStateChange *)event
294
292
  {
295
- // Delivers the event to JS as a direct event.
296
- [_eventDispatcher sendEvent:event];
293
+ // Delivers the event to JS as a direct event.
294
+ [_eventDispatcher sendEvent:event];
297
295
  }
298
296
 
299
297
  - (void)sendEventForDeviceEvent:(RNGestureHandlerStateChange *)event
300
298
  {
301
- // Delivers the event to JS as a device event.
302
- NSMutableDictionary *body = [[event arguments] objectAtIndex:2];
303
- [_eventDispatcher sendDeviceEventWithName:@"onGestureHandlerStateChange" body:body];
299
+ // Delivers the event to JS as a device event.
300
+ NSMutableDictionary *body = [[event arguments] objectAtIndex:2];
301
+ [_eventDispatcher sendDeviceEventWithName:@"onGestureHandlerStateChange" body:body];
304
302
  }
305
303
 
306
304
  @end
@@ -1 +1 @@
1
- {"version":3,"sources":["RNGestureHandlerModule.macos.ts"],"names":["Gestures","NativeViewGestureHandler","PanGestureHandler","TapGestureHandler","LongPressGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","ManualGestureHandler","HammerGestures","HammerNativeViewGestureHandler","HammerPanGestureHandler","HammerTapGestureHandler","HammerLongPressGestureHandler","HammerPinchGestureHandler","HammerRotationGestureHandler","HammerFlingGestureHandler","handleSetJSResponder","_tag","_blockNativeResponder","handleClearJSResponder","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","NodeManager","InteractionManager","getInstance","configureInteractions","getHandler","HammerNodeManager","updateGestureHandler","attachGestureHandler","newView","_actionType","propsRef","init","setView","newConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","flushOperations"],"mappings":"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","sourcesContent":["import { ActionType } from './ActionType';\nimport { isExperimentalWebImplementationEnabled } from './EnableExperimentalWebImplementation';\n\n//GestureHandlers\nimport InteractionManager from './web/tools/InteractionManager';\nimport NodeManager from './web/tools/NodeManager';\nimport PanGestureHandler from './web/handlers/PanGestureHandler';\nimport TapGestureHandler from './web/handlers/TapGestureHandler';\nimport LongPressGestureHandler from './web/handlers/LongPressGestureHandler';\nimport PinchGestureHandler from './web/handlers/PinchGestureHandler';\nimport RotationGestureHandler from './web/handlers/RotationGestureHandler';\nimport FlingGestureHandler from './web/handlers/FlingGestureHandler';\nimport NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';\nimport ManualGestureHandler from './web/handlers/ManualGestureHandler';\n\n//Hammer Handlers\nimport * as HammerNodeManager from './web_hammer/NodeManager';\nimport HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';\nimport HammerPanGestureHandler from './web_hammer/PanGestureHandler';\nimport HammerTapGestureHandler from './web_hammer/TapGestureHandler';\nimport HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';\nimport HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';\nimport HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';\nimport HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';\nimport { Config } from './web/interfaces';\n\nexport const Gestures = {\n NativeViewGestureHandler,\n PanGestureHandler,\n TapGestureHandler,\n LongPressGestureHandler,\n PinchGestureHandler,\n RotationGestureHandler,\n FlingGestureHandler,\n ManualGestureHandler,\n};\n\nexport const HammerGestures = {\n NativeViewGestureHandler: HammerNativeViewGestureHandler,\n PanGestureHandler: HammerPanGestureHandler,\n TapGestureHandler: HammerTapGestureHandler,\n LongPressGestureHandler: HammerLongPressGestureHandler,\n PinchGestureHandler: HammerPinchGestureHandler,\n RotationGestureHandler: HammerRotationGestureHandler,\n FlingGestureHandler: HammerFlingGestureHandler,\n};\n\nexport default {\n handleSetJSResponder(_tag: number, _blockNativeResponder: boolean) {\n // NO-OP\n },\n handleClearJSResponder() {\n // NO-OP\n },\n createGestureHandler<T>(\n handlerName: keyof typeof Gestures,\n handlerTag: number,\n config: T\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n if (!(handlerName in Gestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n const GestureClass = Gestures[handlerName];\n NodeManager.createGestureHandler(handlerTag, new GestureClass());\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n (config as unknown) as Config\n );\n } else {\n if (!(handlerName in HammerGestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n // @ts-ignore If it doesn't exist, the error is thrown\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const GestureClass = HammerGestures[handlerName];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());\n }\n\n this.updateGestureHandler(handlerTag, (config as unknown) as Config);\n },\n attachGestureHandler(\n handlerTag: number,\n newView: number,\n _actionType: ActionType,\n propsRef: React.RefObject<unknown>\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).init(newView, propsRef);\n } else {\n HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);\n }\n },\n updateGestureHandler(handlerTag: number, newConfig: Config) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n newConfig\n );\n } else {\n HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n }\n },\n getGestureHandlerNode(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n return NodeManager.getHandler(handlerTag);\n } else {\n return HammerNodeManager.getHandler(handlerTag);\n }\n },\n dropGestureHandler(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.dropGestureHandler(handlerTag);\n } else {\n HammerNodeManager.dropGestureHandler(handlerTag);\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n flushOperations() {},\n};\n"]}
1
+ {"version":3,"sources":["RNGestureHandlerModule.macos.ts"],"names":["Gestures","NativeViewGestureHandler","PanGestureHandler","TapGestureHandler","LongPressGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","ManualGestureHandler","HammerGestures","HammerNativeViewGestureHandler","HammerPanGestureHandler","HammerTapGestureHandler","HammerLongPressGestureHandler","HammerPinchGestureHandler","HammerRotationGestureHandler","HammerFlingGestureHandler","handleSetJSResponder","_tag","_blockNativeResponder","handleClearJSResponder","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","NodeManager","InteractionManager","getInstance","configureInteractions","getHandler","HammerNodeManager","updateGestureHandler","attachGestureHandler","newView","_actionType","propsRef","init","setView","newConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","flushOperations"],"mappings":"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","sourcesContent":["import { ActionType } from './ActionType';\nimport { isExperimentalWebImplementationEnabled } from './EnableExperimentalWebImplementation';\n\n//GestureHandlers\nimport InteractionManager from './web/tools/InteractionManager';\nimport NodeManager from './web/tools/NodeManager';\nimport PanGestureHandler from './web/handlers/PanGestureHandler';\nimport TapGestureHandler from './web/handlers/TapGestureHandler';\nimport LongPressGestureHandler from './web/handlers/LongPressGestureHandler';\nimport PinchGestureHandler from './web/handlers/PinchGestureHandler';\nimport RotationGestureHandler from './web/handlers/RotationGestureHandler';\nimport FlingGestureHandler from './web/handlers/FlingGestureHandler';\nimport NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';\nimport ManualGestureHandler from './web/handlers/ManualGestureHandler';\n\n//Hammer Handlers\nimport * as HammerNodeManager from './web_hammer/NodeManager';\nimport HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';\nimport HammerPanGestureHandler from './web_hammer/PanGestureHandler';\nimport HammerTapGestureHandler from './web_hammer/TapGestureHandler';\nimport HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';\nimport HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';\nimport HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';\nimport HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';\nimport { Config } from './web/interfaces';\n\nexport const Gestures = {\n NativeViewGestureHandler,\n PanGestureHandler,\n TapGestureHandler,\n LongPressGestureHandler,\n PinchGestureHandler,\n RotationGestureHandler,\n FlingGestureHandler,\n ManualGestureHandler,\n};\n\nexport const HammerGestures = {\n NativeViewGestureHandler: HammerNativeViewGestureHandler,\n PanGestureHandler: HammerPanGestureHandler,\n TapGestureHandler: HammerTapGestureHandler,\n LongPressGestureHandler: HammerLongPressGestureHandler,\n PinchGestureHandler: HammerPinchGestureHandler,\n RotationGestureHandler: HammerRotationGestureHandler,\n FlingGestureHandler: HammerFlingGestureHandler,\n};\n\nexport default {\n handleSetJSResponder(_tag: number, _blockNativeResponder: boolean) {\n // NO-OP\n },\n handleClearJSResponder() {\n // NO-OP\n },\n createGestureHandler<T>(\n handlerName: keyof typeof Gestures,\n handlerTag: number,\n config: T\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n if (!(handlerName in Gestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n const GestureClass = Gestures[handlerName];\n NodeManager.createGestureHandler(handlerTag, new GestureClass());\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n config as unknown as Config\n );\n } else {\n if (!(handlerName in HammerGestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n // @ts-ignore If it doesn't exist, the error is thrown\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const GestureClass = HammerGestures[handlerName];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());\n }\n\n this.updateGestureHandler(handlerTag, config as unknown as Config);\n },\n attachGestureHandler(\n handlerTag: number,\n newView: number,\n _actionType: ActionType,\n propsRef: React.RefObject<unknown>\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).init(newView, propsRef);\n } else {\n HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);\n }\n },\n updateGestureHandler(handlerTag: number, newConfig: Config) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n newConfig\n );\n } else {\n HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n }\n },\n getGestureHandlerNode(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n return NodeManager.getHandler(handlerTag);\n } else {\n return HammerNodeManager.getHandler(handlerTag);\n }\n },\n dropGestureHandler(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.dropGestureHandler(handlerTag);\n } else {\n HammerNodeManager.dropGestureHandler(handlerTag);\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n flushOperations() {},\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["RNGestureHandlerModule.web.ts"],"names":["Gestures","NativeViewGestureHandler","PanGestureHandler","TapGestureHandler","LongPressGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","ManualGestureHandler","HammerGestures","HammerNativeViewGestureHandler","HammerPanGestureHandler","HammerTapGestureHandler","HammerLongPressGestureHandler","HammerPinchGestureHandler","HammerRotationGestureHandler","HammerFlingGestureHandler","handleSetJSResponder","tag","blockNativeResponder","console","warn","handleClearJSResponder","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","NodeManager","InteractionManager","getInstance","configureInteractions","getHandler","HammerNodeManager","updateGestureHandler","attachGestureHandler","newView","_actionType","propsRef","HTMLElement","React","Component","init","setView","newConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","flushOperations"],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AApBA;AAYA;AAWO,MAAMA,QAAQ,GAAG;AACtBC,EAAAA,wBAAwB,EAAxBA,iCADsB;AAEtBC,EAAAA,iBAAiB,EAAjBA,0BAFsB;AAGtBC,EAAAA,iBAAiB,EAAjBA,0BAHsB;AAItBC,EAAAA,uBAAuB,EAAvBA,gCAJsB;AAKtBC,EAAAA,mBAAmB,EAAnBA,4BALsB;AAMtBC,EAAAA,sBAAsB,EAAtBA,+BANsB;AAOtBC,EAAAA,mBAAmB,EAAnBA,4BAPsB;AAQtBC,EAAAA,oBAAoB,EAApBA;AARsB,CAAjB;;AAWA,MAAMC,cAAc,GAAG;AAC5BR,EAAAA,wBAAwB,EAAES,kCADE;AAE5BR,EAAAA,iBAAiB,EAAES,2BAFS;AAG5BR,EAAAA,iBAAiB,EAAES,2BAHS;AAI5BR,EAAAA,uBAAuB,EAAES,iCAJG;AAK5BR,EAAAA,mBAAmB,EAAES,6BALO;AAM5BR,EAAAA,sBAAsB,EAAES,gCANI;AAO5BR,EAAAA,mBAAmB,EAAES;AAPO,CAAvB;;eAUQ;AACbC,EAAAA,oBAAoB,CAACC,GAAD,EAAcC,oBAAd,EAA6C;AAC/DC,IAAAA,OAAO,CAACC,IAAR,CAAa,wBAAb,EAAuCH,GAAvC,EAA4CC,oBAA5C;AACD,GAHY;;AAIbG,EAAAA,sBAAsB,GAAG;AACvBF,IAAAA,OAAO,CAACC,IAAR,CAAa,0BAAb;AACD,GANY;;AAObE,EAAAA,oBAAoB,CAClBC,WADkB,EAElBC,UAFkB,EAGlBC,MAHkB,EAIlB;AACA,QAAI,kFAAJ,EAA8C;AAC5C,UAAI,EAAEF,WAAW,IAAIxB,QAAjB,CAAJ,EAAgC;AAC9B,cAAM,IAAI2B,KAAJ,CACH,iCAAgCH,WAAY,2BADzC,CAAN;AAGD;;AAED,YAAMI,YAAY,GAAG5B,QAAQ,CAACwB,WAAD,CAA7B;;AACAK,2BAAYN,oBAAZ,CAAiCE,UAAjC,EAA6C,IAAIG,YAAJ,EAA7C;;AACAE,kCAAmBC,WAAnB,GAAiCC,qBAAjC,CACEH,qBAAYI,UAAZ,CAAuBR,UAAvB,CADF,EAEGC,MAFH;AAID,KAbD,MAaO;AACL,UAAI,EAAEF,WAAW,IAAIf,cAAjB,CAAJ,EAAsC;AACpC,cAAM,IAAIkB,KAAJ,CACH,iCAAgCH,WAAY,2BADzC,CAAN;AAGD,OALI,CAOL;AACA;;;AACA,YAAMI,YAAY,GAAGnB,cAAc,CAACe,WAAD,CAAnC,CATK,CAUL;;AACAU,MAAAA,iBAAiB,CAACX,oBAAlB,CAAuCE,UAAvC,EAAmD,IAAIG,YAAJ,EAAnD;AACD;;AAED,SAAKO,oBAAL,CAA0BV,UAA1B,EAAuCC,MAAvC;AACD,GAxCY;;AAyCbU,EAAAA,oBAAoB,CAClBX,UADkB,EAElB;AACAY,EAAAA,OAHkB,EAIlBC,WAJkB,EAKlBC,QALkB,EAMlB;AACA,QACE,EAAEF,OAAO,YAAYG,WAAnB,IAAkCH,OAAO,YAAYI,eAAMC,SAA7D,CADF,EAEE;AACA;AACD;;AAED,QAAI,kFAAJ,EAA8C;AAC5C;AACAb,2BAAYI,UAAZ,CAAuBR,UAAvB,EAAmCkB,IAAnC,CAAwCN,OAAxC,EAAiDE,QAAjD;AACD,KAHD,MAGO;AACL;AACAL,MAAAA,iBAAiB,CAACD,UAAlB,CAA6BR,UAA7B,EAAyCmB,OAAzC,CAAiDP,OAAjD,EAA0DE,QAA1D;AACD;AACF,GA7DY;;AA8DbJ,EAAAA,oBAAoB,CAACV,UAAD,EAAqBoB,SAArB,EAAwC;AAC1D,QAAI,kFAAJ,EAA8C;AAC5ChB,2BAAYI,UAAZ,CAAuBR,UAAvB,EAAmCqB,mBAAnC,CAAuDD,SAAvD;;AAEAf,kCAAmBC,WAAnB,GAAiCC,qBAAjC,CACEH,qBAAYI,UAAZ,CAAuBR,UAAvB,CADF,EAEEoB,SAFF;AAID,KAPD,MAOO;AACLX,MAAAA,iBAAiB,CAACD,UAAlB,CAA6BR,UAA7B,EAAyCqB,mBAAzC,CAA6DD,SAA7D;AACD;AACF,GAzEY;;AA0EbE,EAAAA,qBAAqB,CAACtB,UAAD,EAAqB;AACxC,QAAI,kFAAJ,EAA8C;AAC5C,aAAOI,qBAAYI,UAAZ,CAAuBR,UAAvB,CAAP;AACD,KAFD,MAEO;AACL,aAAOS,iBAAiB,CAACD,UAAlB,CAA6BR,UAA7B,CAAP;AACD;AACF,GAhFY;;AAiFbuB,EAAAA,kBAAkB,CAACvB,UAAD,EAAqB;AACrC,QAAI,kFAAJ,EAA8C;AAC5CI,2BAAYmB,kBAAZ,CAA+BvB,UAA/B;AACD,KAFD,MAEO;AACLS,MAAAA,iBAAiB,CAACc,kBAAlB,CAAqCvB,UAArC;AACD;AACF,GAvFY;;AAwFb;AACAwB,EAAAA,eAAe,GAAG,CAAE;;AAzFP,C","sourcesContent":["import React from 'react';\n\nimport { ActionType } from './ActionType';\nimport { isExperimentalWebImplementationEnabled } from './EnableExperimentalWebImplementation';\n\n//GestureHandlers\nimport InteractionManager from './web/tools/InteractionManager';\nimport NodeManager from './web/tools/NodeManager';\nimport PanGestureHandler from './web/handlers/PanGestureHandler';\nimport TapGestureHandler from './web/handlers/TapGestureHandler';\nimport LongPressGestureHandler from './web/handlers/LongPressGestureHandler';\nimport PinchGestureHandler from './web/handlers/PinchGestureHandler';\nimport RotationGestureHandler from './web/handlers/RotationGestureHandler';\nimport FlingGestureHandler from './web/handlers/FlingGestureHandler';\nimport NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';\nimport ManualGestureHandler from './web/handlers/ManualGestureHandler';\n\n//Hammer Handlers\nimport * as HammerNodeManager from './web_hammer/NodeManager';\nimport HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';\nimport HammerPanGestureHandler from './web_hammer/PanGestureHandler';\nimport HammerTapGestureHandler from './web_hammer/TapGestureHandler';\nimport HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';\nimport HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';\nimport HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';\nimport HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';\nimport { Config } from './web/interfaces';\n\nexport const Gestures = {\n NativeViewGestureHandler,\n PanGestureHandler,\n TapGestureHandler,\n LongPressGestureHandler,\n PinchGestureHandler,\n RotationGestureHandler,\n FlingGestureHandler,\n ManualGestureHandler,\n};\n\nexport const HammerGestures = {\n NativeViewGestureHandler: HammerNativeViewGestureHandler,\n PanGestureHandler: HammerPanGestureHandler,\n TapGestureHandler: HammerTapGestureHandler,\n LongPressGestureHandler: HammerLongPressGestureHandler,\n PinchGestureHandler: HammerPinchGestureHandler,\n RotationGestureHandler: HammerRotationGestureHandler,\n FlingGestureHandler: HammerFlingGestureHandler,\n};\n\nexport default {\n handleSetJSResponder(tag: number, blockNativeResponder: boolean) {\n console.warn('handleSetJSResponder: ', tag, blockNativeResponder);\n },\n handleClearJSResponder() {\n console.warn('handleClearJSResponder: ');\n },\n createGestureHandler<T>(\n handlerName: keyof typeof Gestures,\n handlerTag: number,\n config: T\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n if (!(handlerName in Gestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n const GestureClass = Gestures[handlerName];\n NodeManager.createGestureHandler(handlerTag, new GestureClass());\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n (config as unknown) as Config\n );\n } else {\n if (!(handlerName in HammerGestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n // @ts-ignore If it doesn't exist, the error is thrown\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const GestureClass = HammerGestures[handlerName];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());\n }\n\n this.updateGestureHandler(handlerTag, (config as unknown) as Config);\n },\n attachGestureHandler(\n handlerTag: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newView: any,\n _actionType: ActionType,\n propsRef: React.RefObject<unknown>\n ) {\n if (\n !(newView instanceof HTMLElement || newView instanceof React.Component)\n ) {\n return;\n }\n\n if (isExperimentalWebImplementationEnabled()) {\n //@ts-ignore Types should be HTMLElement or React.Component\n NodeManager.getHandler(handlerTag).init(newView, propsRef);\n } else {\n //@ts-ignore Types should be HTMLElement or React.Component\n HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);\n }\n },\n updateGestureHandler(handlerTag: number, newConfig: Config) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n newConfig\n );\n } else {\n HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n }\n },\n getGestureHandlerNode(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n return NodeManager.getHandler(handlerTag);\n } else {\n return HammerNodeManager.getHandler(handlerTag);\n }\n },\n dropGestureHandler(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.dropGestureHandler(handlerTag);\n } else {\n HammerNodeManager.dropGestureHandler(handlerTag);\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n flushOperations() {},\n};\n"]}
1
+ {"version":3,"sources":["RNGestureHandlerModule.web.ts"],"names":["Gestures","NativeViewGestureHandler","PanGestureHandler","TapGestureHandler","LongPressGestureHandler","PinchGestureHandler","RotationGestureHandler","FlingGestureHandler","ManualGestureHandler","HammerGestures","HammerNativeViewGestureHandler","HammerPanGestureHandler","HammerTapGestureHandler","HammerLongPressGestureHandler","HammerPinchGestureHandler","HammerRotationGestureHandler","HammerFlingGestureHandler","handleSetJSResponder","tag","blockNativeResponder","console","warn","handleClearJSResponder","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","NodeManager","InteractionManager","getInstance","configureInteractions","getHandler","HammerNodeManager","updateGestureHandler","attachGestureHandler","newView","_actionType","propsRef","HTMLElement","React","Component","init","setView","newConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","flushOperations"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ActionType } from './ActionType';\nimport { isExperimentalWebImplementationEnabled } from './EnableExperimentalWebImplementation';\n\n//GestureHandlers\nimport InteractionManager from './web/tools/InteractionManager';\nimport NodeManager from './web/tools/NodeManager';\nimport PanGestureHandler from './web/handlers/PanGestureHandler';\nimport TapGestureHandler from './web/handlers/TapGestureHandler';\nimport LongPressGestureHandler from './web/handlers/LongPressGestureHandler';\nimport PinchGestureHandler from './web/handlers/PinchGestureHandler';\nimport RotationGestureHandler from './web/handlers/RotationGestureHandler';\nimport FlingGestureHandler from './web/handlers/FlingGestureHandler';\nimport NativeViewGestureHandler from './web/handlers/NativeViewGestureHandler';\nimport ManualGestureHandler from './web/handlers/ManualGestureHandler';\n\n//Hammer Handlers\nimport * as HammerNodeManager from './web_hammer/NodeManager';\nimport HammerNativeViewGestureHandler from './web_hammer/NativeViewGestureHandler';\nimport HammerPanGestureHandler from './web_hammer/PanGestureHandler';\nimport HammerTapGestureHandler from './web_hammer/TapGestureHandler';\nimport HammerLongPressGestureHandler from './web_hammer/LongPressGestureHandler';\nimport HammerPinchGestureHandler from './web_hammer/PinchGestureHandler';\nimport HammerRotationGestureHandler from './web_hammer/RotationGestureHandler';\nimport HammerFlingGestureHandler from './web_hammer/FlingGestureHandler';\nimport { Config } from './web/interfaces';\n\nexport const Gestures = {\n NativeViewGestureHandler,\n PanGestureHandler,\n TapGestureHandler,\n LongPressGestureHandler,\n PinchGestureHandler,\n RotationGestureHandler,\n FlingGestureHandler,\n ManualGestureHandler,\n};\n\nexport const HammerGestures = {\n NativeViewGestureHandler: HammerNativeViewGestureHandler,\n PanGestureHandler: HammerPanGestureHandler,\n TapGestureHandler: HammerTapGestureHandler,\n LongPressGestureHandler: HammerLongPressGestureHandler,\n PinchGestureHandler: HammerPinchGestureHandler,\n RotationGestureHandler: HammerRotationGestureHandler,\n FlingGestureHandler: HammerFlingGestureHandler,\n};\n\nexport default {\n handleSetJSResponder(tag: number, blockNativeResponder: boolean) {\n console.warn('handleSetJSResponder: ', tag, blockNativeResponder);\n },\n handleClearJSResponder() {\n console.warn('handleClearJSResponder: ');\n },\n createGestureHandler<T>(\n handlerName: keyof typeof Gestures,\n handlerTag: number,\n config: T\n ) {\n if (isExperimentalWebImplementationEnabled()) {\n if (!(handlerName in Gestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n const GestureClass = Gestures[handlerName];\n NodeManager.createGestureHandler(handlerTag, new GestureClass());\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n config as unknown as Config\n );\n } else {\n if (!(handlerName in HammerGestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n // @ts-ignore If it doesn't exist, the error is thrown\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const GestureClass = HammerGestures[handlerName];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());\n }\n\n this.updateGestureHandler(handlerTag, config as unknown as Config);\n },\n attachGestureHandler(\n handlerTag: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newView: any,\n _actionType: ActionType,\n propsRef: React.RefObject<unknown>\n ) {\n if (\n !(newView instanceof HTMLElement || newView instanceof React.Component)\n ) {\n return;\n }\n\n if (isExperimentalWebImplementationEnabled()) {\n //@ts-ignore Types should be HTMLElement or React.Component\n NodeManager.getHandler(handlerTag).init(newView, propsRef);\n } else {\n //@ts-ignore Types should be HTMLElement or React.Component\n HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);\n }\n },\n updateGestureHandler(handlerTag: number, newConfig: Config) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n newConfig\n );\n } else {\n HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n }\n },\n getGestureHandlerNode(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n return NodeManager.getHandler(handlerTag);\n } else {\n return HammerNodeManager.getHandler(handlerTag);\n }\n },\n dropGestureHandler(handlerTag: number) {\n if (isExperimentalWebImplementationEnabled()) {\n NodeManager.dropGestureHandler(handlerTag);\n } else {\n HammerNodeManager.dropGestureHandler(handlerTag);\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n flushOperations() {},\n};\n"]}