@react-native-oh-tpl/react-native-gesture-handler 2.12.6-2 → 2.12.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. package/harmony/gesture_handler/BuildProfile.ets +5 -0
  2. package/harmony/gesture_handler/build-profile.json5 +13 -2
  3. package/harmony/gesture_handler/hvigorfile.ts +1 -1
  4. package/harmony/gesture_handler/index.ets +1 -1
  5. package/harmony/gesture_handler/oh-package-lock.json5 +17 -0
  6. package/harmony/gesture_handler/oh-package.json5 +10 -11
  7. package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.cpp +75 -6
  8. package/harmony/gesture_handler/src/main/cpp/GestureHandlerPackage.h +14 -8
  9. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentDescriptor.h +4 -28
  10. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonComponentInstance.h +27 -0
  11. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerButtonJSIBinder.h +32 -0
  12. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.cpp +17 -12
  13. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerModule.h +5 -2
  14. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerPackage.h +72 -0
  15. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentDescriptor.h +4 -28
  16. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewComponentInstance.h +78 -0
  17. package/harmony/gesture_handler/src/main/cpp/RNGestureHandlerRootViewJSIBinder.h +25 -0
  18. package/harmony/gesture_handler/src/main/ets/EventDispatcher.ts +16 -1
  19. package/harmony/gesture_handler/src/main/ets/GestureHandler.ts +2 -2
  20. package/harmony/gesture_handler/src/main/ets/{GestureHandlerArkUIAdapter.ets → GestureHandlerArkUIAdapter.ts} +2 -1
  21. package/harmony/gesture_handler/src/main/ets/GestureHandlerPackage.ts +2 -2
  22. package/harmony/gesture_handler/src/main/ets/OutgoingEvent.ts +5 -5
  23. package/harmony/gesture_handler/src/main/ets/RNGHLogger.ts +20 -1
  24. package/harmony/gesture_handler/src/main/ets/{RNGHRootTouchHandler.ets → RNGHRootTouchHandlerArkTS.ts} +5 -3
  25. package/harmony/gesture_handler/src/main/ets/RNGHRootTouchHandlerCAPI.ts +87 -0
  26. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerButton.ets +4 -3
  27. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerModule.ts +65 -7
  28. package/harmony/gesture_handler/src/main/ets/RNGestureHandlerRootView.ets +7 -11
  29. package/harmony/gesture_handler/src/main/ets/RNOHScrollLocker.ts +17 -5
  30. package/harmony/gesture_handler/src/main/ets/View.ts +1 -1
  31. package/harmony/gesture_handler/src/main/ets/ViewRegistry.ts +1 -1
  32. package/harmony/gesture_handler/src/main/ets/namespace/RNGestureHandlerButton.ts +140 -0
  33. package/harmony/gesture_handler/src/main/ets/namespace/RNGestureHandlerModule.ts +25 -0
  34. package/harmony/gesture_handler/src/main/ets/namespace/RNGestureHandlerRootView.ts +101 -0
  35. package/harmony/gesture_handler/src/main/ets/namespace/ts.ts +3 -0
  36. package/harmony/gesture_handler/src/main/ets/types.ts +25 -0
  37. package/harmony/gesture_handler/src/main/module.json5 +6 -6
  38. package/harmony/gesture_handler/ts.ts +2 -1
  39. package/harmony/gesture_handler.har +0 -0
  40. package/lib/commonjs/RNGestureHandlerModule.js +6 -3
  41. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  42. package/lib/commonjs/components/GestureHandlerRootView.js +5 -13
  43. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  44. package/lib/commonjs/handlers/createHandler.js +31 -28
  45. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  46. package/lib/commonjs/index.js +42 -19
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +10 -0
  49. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -0
  50. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +11 -0
  51. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
  52. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +11 -0
  53. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
  54. package/lib/module/RNGestureHandlerModule.js +3 -2
  55. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  56. package/lib/module/components/GestureHandlerRootView.js +3 -11
  57. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  58. package/lib/module/handlers/createHandler.js +20 -19
  59. package/lib/module/handlers/createHandler.js.map +1 -1
  60. package/lib/module/index.js +6 -14
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/specs/NativeRNGestureHandlerModule.js +3 -0
  63. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -0
  64. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js +3 -0
  65. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -0
  66. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js +3 -0
  67. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -0
  68. package/lib/typescript/RNGestureHandlerModule.d.ts +2 -6
  69. package/lib/typescript/RNGestureHandlerModule.d.ts.map +1 -1
  70. package/lib/typescript/components/GestureHandlerRootView.d.ts +6 -6
  71. package/lib/typescript/components/GestureHandlerRootView.d.ts.map +1 -1
  72. package/lib/typescript/handlers/createHandler.d.ts +11 -11
  73. package/lib/typescript/handlers/createHandler.d.ts.map +1 -1
  74. package/lib/typescript/index.d.ts +9 -8
  75. package/lib/typescript/index.d.ts.map +1 -1
  76. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +15 -0
  77. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts.map +1 -0
  78. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +15 -0
  79. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts.map +1 -0
  80. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +7 -0
  81. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts.map +1 -0
  82. package/package.json +9 -13
  83. package/src/RNGestureHandlerModule.ts +3 -4
  84. package/src/components/GestureHandlerRootView.tsx +4 -15
  85. package/src/handlers/createHandler.tsx +4 -5
  86. package/src/index.ts +13 -13
  87. package/src/specs/NativeRNGestureHandlerModule.ts +26 -0
  88. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +18 -0
  89. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +6 -0
  90. package/README.md +0 -1
  91. package/harmony/gesture_handler/LICENSE +0 -21
  92. package/harmony/gesture_handler/OAT.xml +0 -44
  93. package/harmony/gesture_handler/README.OpenSource +0 -11
  94. package/harmony/gesture_handler/README.md +0 -1
  95. package/lib/commonjs/components/GestureButtons.js +0 -186
  96. package/lib/commonjs/components/GestureButtons.js.map +0 -1
  97. package/lib/commonjs/components/GestureHandlerButton.js +0 -9
  98. package/lib/commonjs/components/GestureHandlerButton.js.map +0 -1
  99. package/lib/commonjs/components/RNGestureHandlerButton.js +0 -23
  100. package/lib/commonjs/components/RNGestureHandlerButton.js.map +0 -1
  101. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -247
  102. package/lib/commonjs/components/touchables/GenericTouchable.js.map +0 -1
  103. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -58
  104. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +0 -1
  105. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -18
  106. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +0 -1
  107. package/lib/commonjs/components/touchables/index.js +0 -21
  108. package/lib/commonjs/components/touchables/index.js.map +0 -1
  109. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -19
  110. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +0 -1
  111. package/lib/commonjs/handlers/PanGestureHandler.js +0 -103
  112. package/lib/commonjs/handlers/PanGestureHandler.js.map +0 -1
  113. package/lib/commonjs/handlers/TapGestureHandler.js +0 -22
  114. package/lib/commonjs/handlers/TapGestureHandler.js.map +0 -1
  115. package/lib/commonjs/handlers/createNativeWrapper.js +0 -64
  116. package/lib/commonjs/handlers/createNativeWrapper.js.map +0 -1
  117. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -22
  118. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +0 -1
  119. package/lib/commonjs/handlers/gestures/GestureDetector.js +0 -554
  120. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +0 -1
  121. package/lib/commonjs/init.js +0 -24
  122. package/lib/commonjs/init.js.map +0 -1
  123. package/lib/module/components/GestureButtons.js +0 -168
  124. package/lib/module/components/GestureButtons.js.map +0 -1
  125. package/lib/module/components/GestureHandlerButton.js +0 -3
  126. package/lib/module/components/GestureHandlerButton.js.map +0 -1
  127. package/lib/module/components/RNGestureHandlerButton.js +0 -17
  128. package/lib/module/components/RNGestureHandlerButton.js.map +0 -1
  129. package/lib/module/components/touchables/GenericTouchable.js +0 -238
  130. package/lib/module/components/touchables/GenericTouchable.js.map +0 -1
  131. package/lib/module/components/touchables/TouchableOpacity.js +0 -49
  132. package/lib/module/components/touchables/TouchableOpacity.js.map +0 -1
  133. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -9
  134. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +0 -1
  135. package/lib/module/components/touchables/index.js +0 -8
  136. package/lib/module/components/touchables/index.js.map +0 -1
  137. package/lib/module/handlers/NativeViewGestureHandler.js +0 -12
  138. package/lib/module/handlers/NativeViewGestureHandler.js.map +0 -1
  139. package/lib/module/handlers/PanGestureHandler.js +0 -92
  140. package/lib/module/handlers/PanGestureHandler.js.map +0 -1
  141. package/lib/module/handlers/TapGestureHandler.js +0 -14
  142. package/lib/module/handlers/TapGestureHandler.js.map +0 -1
  143. package/lib/module/handlers/createNativeWrapper.js +0 -57
  144. package/lib/module/handlers/createNativeWrapper.js.map +0 -1
  145. package/lib/module/handlers/gestureHandlerCommon.js +0 -15
  146. package/lib/module/handlers/gestureHandlerCommon.js.map +0 -1
  147. package/lib/module/handlers/gestures/GestureDetector.js +0 -543
  148. package/lib/module/handlers/gestures/GestureDetector.js.map +0 -1
  149. package/lib/module/init.js +0 -17
  150. package/lib/module/init.js.map +0 -1
  151. package/lib/typescript/components/GestureButtons.d.ts +0 -122
  152. package/lib/typescript/components/GestureButtons.d.ts.map +0 -1
  153. package/lib/typescript/components/GestureHandlerButton.d.ts +0 -5
  154. package/lib/typescript/components/GestureHandlerButton.d.ts.map +0 -1
  155. package/lib/typescript/components/RNGestureHandlerButton.d.ts +0 -2
  156. package/lib/typescript/components/RNGestureHandlerButton.d.ts.map +0 -1
  157. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -68
  158. package/lib/typescript/components/touchables/GenericTouchable.d.ts.map +0 -1
  159. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -26
  160. package/lib/typescript/components/touchables/TouchableOpacity.d.ts.map +0 -1
  161. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -8
  162. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts.map +0 -1
  163. package/lib/typescript/components/touchables/index.d.ts +0 -4
  164. package/lib/typescript/components/touchables/index.d.ts.map +0 -1
  165. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -29
  166. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts.map +0 -1
  167. package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -140
  168. package/lib/typescript/handlers/PanGestureHandler.d.ts.map +0 -1
  169. package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -58
  170. package/lib/typescript/handlers/TapGestureHandler.d.ts.map +0 -1
  171. package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -4
  172. package/lib/typescript/handlers/createNativeWrapper.d.ts.map +0 -1
  173. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -2
  174. package/lib/typescript/handlers/gestureHandlerCommon.d.ts.map +0 -1
  175. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +0 -24
  176. package/lib/typescript/handlers/gestures/GestureDetector.d.ts.map +0 -1
  177. package/lib/typescript/init.d.ts +0 -3
  178. package/lib/typescript/init.d.ts.map +0 -1
  179. package/src/components/GestureButtons.tsx +0 -334
  180. package/src/components/GestureHandlerButton.tsx +0 -5
  181. package/src/components/RNGestureHandlerButton.tsx +0 -23
  182. package/src/components/touchables/GenericTouchable.tsx +0 -301
  183. package/src/components/touchables/TouchableOpacity.tsx +0 -76
  184. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -14
  185. package/src/components/touchables/index.ts +0 -7
  186. package/src/handlers/NativeViewGestureHandler.ts +0 -55
  187. package/src/handlers/PanGestureHandler.ts +0 -327
  188. package/src/handlers/TapGestureHandler.ts +0 -95
  189. package/src/handlers/createNativeWrapper.tsx +0 -81
  190. package/src/handlers/gestureHandlerCommon.ts +0 -15
  191. package/src/handlers/gestures/GestureDetector.tsx +0 -823
  192. package/src/init.ts +0 -18
@@ -1,543 +0,0 @@
1
- var _Reanimated$default;
2
- /**
3
- * Why is this file patched?
4
- * - replacing import to RNGestureHandlerModule - original code uses (old) Native Modules but RNOH supports only Turbo Modules
5
- */
6
-
7
- import React, { useContext, useEffect, useRef, useState } from 'react';
8
- import { BaseGesture, CALLBACK_TYPE } from 'react-native-gesture-handler/src/handlers/gestures/gesture';
9
- import { Reanimated } from 'react-native-gesture-handler/src/handlers/gestures/reanimatedWrapper';
10
- import { registerHandler, unregisterHandler } from 'react-native-gesture-handler/src/handlers/handlersRegistry';
11
- import { RNGestureHandlerModule } from '../../RNGestureHandlerModule'; // RNGH: patch
12
- import { baseGestureHandlerWithMonitorProps, filterConfig, findNodeHandle } from 'react-native-gesture-handler/src/handlers/gestureHandlerCommon';
13
- import { scheduleFlushOperations } from '../gestureHandlerCommon'; // RNGH: patch
14
- import { GestureStateManager } from 'react-native-gesture-handler/src/handlers/gestures/gestureStateManager';
15
- import { flingGestureHandlerProps } from 'react-native-gesture-handler/src/handlers/FlingGestureHandler';
16
- import { forceTouchGestureHandlerProps } from 'react-native-gesture-handler/src/handlers/ForceTouchGestureHandler';
17
- import { longPressGestureHandlerProps } from 'react-native-gesture-handler/src/handlers/LongPressGestureHandler';
18
- import { panGestureHandlerProps, panGestureHandlerCustomNativeProps } from 'react-native-gesture-handler/src/handlers/PanGestureHandler';
19
- import { tapGestureHandlerProps } from 'react-native-gesture-handler/src/handlers/TapGestureHandler';
20
- import { State } from 'react-native-gesture-handler/src/State';
21
- import { TouchEventType } from 'react-native-gesture-handler/src/TouchEventType';
22
- import { ActionType } from 'react-native-gesture-handler/src/ActionType';
23
- import { isFabric, isJestEnv, REACT_NATIVE_VERSION, tagMessage } from 'react-native-gesture-handler/src/utils';
24
- import { getShadowNodeFromRef } from 'react-native-gesture-handler/src/getShadowNodeFromRef';
25
- import { Platform } from 'react-native';
26
- import { onGestureHandlerEvent } from 'react-native-gesture-handler/src/handlers/gestures/eventReceiver';
27
- import { RNRenderer } from 'react-native-gesture-handler/src/RNRenderer';
28
- import { isNewWebImplementationEnabled } from 'react-native-gesture-handler/src/EnableNewWebImplementation';
29
- import { nativeViewGestureHandlerProps } from 'react-native-gesture-handler/src/handlers/NativeViewGestureHandler';
30
- import GestureHandlerRootViewContext from 'react-native-gesture-handler/src/GestureHandlerRootViewContext';
31
- const ALLOWED_PROPS = [...baseGestureHandlerWithMonitorProps, ...tapGestureHandlerProps, ...panGestureHandlerProps, ...panGestureHandlerCustomNativeProps, ...longPressGestureHandlerProps, ...forceTouchGestureHandlerProps, ...flingGestureHandlerProps, ...nativeViewGestureHandlerProps];
32
- function convertToHandlerTag(ref) {
33
- if (typeof ref === 'number') {
34
- return ref;
35
- } else if (ref instanceof BaseGesture) {
36
- return ref.handlerTag;
37
- } else {
38
- var _ref$current;
39
- // @ts-ignore in this case it should be a ref either to gesture object or
40
- // a gesture handler component, in both cases handlerTag property exists
41
- return ((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.handlerTag) ?? -1;
42
- }
43
- }
44
- function extractValidHandlerTags(interactionGroup) {
45
- var _interactionGroup$map;
46
- return (interactionGroup === null || interactionGroup === void 0 || (_interactionGroup$map = interactionGroup.map(convertToHandlerTag)) === null || _interactionGroup$map === void 0 ? void 0 : _interactionGroup$map.filter(tag => tag > 0)) ?? [];
47
- }
48
- function dropHandlers(preparedGesture) {
49
- for (const handler of preparedGesture.config) {
50
- RNGestureHandlerModule.dropGestureHandler(handler.handlerTag);
51
- unregisterHandler(handler.handlerTag, handler.config.testId);
52
- }
53
- scheduleFlushOperations();
54
- }
55
- function checkGestureCallbacksForWorklets(gesture) {
56
- // if a gesture is explicitly marked to run on the JS thread there is no need to check
57
- // if callbacks are worklets as the user is aware they will be ran on the JS thread
58
- if (gesture.config.runOnJS) {
59
- return;
60
- }
61
- const areSomeNotWorklets = gesture.handlers.isWorklet.includes(false);
62
- const areSomeWorklets = gesture.handlers.isWorklet.includes(true);
63
-
64
- // if some of the callbacks are worklets and some are not, and the gesture is not
65
- // explicitly marked with `.runOnJS(true)` show an error
66
- if (areSomeNotWorklets && areSomeWorklets) {
67
- console.error(tagMessage(`Some of the callbacks in the gesture are worklets and some are not. Either make sure that all calbacks are marked as 'worklet' if you wish to run them on the UI thread or use '.runOnJS(true)' modifier on the gesture explicitly to run all callbacks on the JS thread.`));
68
- }
69
- }
70
- function attachHandlers({
71
- preparedGesture,
72
- gestureConfig,
73
- gesture,
74
- viewTag,
75
- webEventHandlersRef,
76
- mountedRef
77
- }) {
78
- if (!preparedGesture.firstExecution) {
79
- gestureConfig.initialize();
80
- } else {
81
- preparedGesture.firstExecution = false;
82
- }
83
-
84
- // use queueMicrotask to extract handlerTags, because all refs should be initialized
85
- // when it's ran
86
- queueMicrotask(() => {
87
- if (!mountedRef.current) {
88
- return;
89
- }
90
- gestureConfig.prepare();
91
- });
92
- for (const handler of gesture) {
93
- checkGestureCallbacksForWorklets(handler);
94
- RNGestureHandlerModule.createGestureHandler(handler.handlerName, handler.handlerTag, filterConfig(handler.config, ALLOWED_PROPS));
95
- registerHandler(handler.handlerTag, handler, handler.config.testId);
96
- }
97
-
98
- // use queueMicrotask to extract handlerTags, because all refs should be initialized
99
- // when it's ran
100
- queueMicrotask(() => {
101
- if (!mountedRef.current) {
102
- return;
103
- }
104
- for (const handler of gesture) {
105
- let requireToFail = [];
106
- if (handler.config.requireToFail) {
107
- requireToFail = extractValidHandlerTags(handler.config.requireToFail);
108
- }
109
- let simultaneousWith = [];
110
- if (handler.config.simultaneousWith) {
111
- simultaneousWith = extractValidHandlerTags(handler.config.simultaneousWith);
112
- }
113
- RNGestureHandlerModule.updateGestureHandler(handler.handlerTag, filterConfig(handler.config, ALLOWED_PROPS, {
114
- simultaneousHandlers: simultaneousWith,
115
- waitFor: requireToFail
116
- }));
117
- }
118
- scheduleFlushOperations();
119
- });
120
- preparedGesture.config = gesture;
121
- for (const gesture of preparedGesture.config) {
122
- const actionType = gesture.shouldUseReanimated ? ActionType.REANIMATED_WORKLET : ActionType.JS_FUNCTION_NEW_API;
123
- if (Platform.OS === 'web') {
124
- RNGestureHandlerModule.attachGestureHandler(gesture.handlerTag, viewTag, ActionType.JS_FUNCTION_OLD_API,
125
- // ignored on web
126
- webEventHandlersRef);
127
- } else {
128
- RNGestureHandlerModule.attachGestureHandler(gesture.handlerTag, viewTag, actionType);
129
- }
130
- }
131
- if (preparedGesture.animatedHandlers) {
132
- const isAnimatedGesture = g => g.shouldUseReanimated;
133
- preparedGesture.animatedHandlers.value = gesture.filter(isAnimatedGesture).map(g => g.handlers);
134
- }
135
- }
136
- function updateHandlers(preparedGesture, gestureConfig, gesture, mountedRef) {
137
- gestureConfig.prepare();
138
- for (let i = 0; i < gesture.length; i++) {
139
- const handler = preparedGesture.config[i];
140
- checkGestureCallbacksForWorklets(handler);
141
-
142
- // only update handlerTag when it's actually different, it may be the same
143
- // if gesture config object is wrapped with useMemo
144
- if (gesture[i].handlerTag !== handler.handlerTag) {
145
- gesture[i].handlerTag = handler.handlerTag;
146
- gesture[i].handlers.handlerTag = handler.handlerTag;
147
- }
148
- }
149
-
150
- // use queueMicrotask to extract handlerTags, because when it's ran, all refs should be updated
151
- // and handlerTags in BaseGesture references should be updated in the loop above (we need to wait
152
- // in case of external relations)
153
- queueMicrotask(() => {
154
- if (!mountedRef.current) {
155
- return;
156
- }
157
- for (let i = 0; i < gesture.length; i++) {
158
- const handler = preparedGesture.config[i];
159
- handler.config = gesture[i].config;
160
- handler.handlers = gesture[i].handlers;
161
- const requireToFail = extractValidHandlerTags(handler.config.requireToFail);
162
- const simultaneousWith = extractValidHandlerTags(handler.config.simultaneousWith);
163
- RNGestureHandlerModule.updateGestureHandler(handler.handlerTag, filterConfig(handler.config, ALLOWED_PROPS, {
164
- simultaneousHandlers: simultaneousWith,
165
- waitFor: requireToFail
166
- }));
167
- registerHandler(handler.handlerTag, handler, handler.config.testId);
168
- }
169
- if (preparedGesture.animatedHandlers) {
170
- const previousHandlersValue = preparedGesture.animatedHandlers.value ?? [];
171
- const newHandlersValue = preparedGesture.config.filter(g => g.shouldUseReanimated) // ignore gestures that shouldn't run on UI
172
- .map(g => g.handlers);
173
-
174
- // if amount of gesture configs changes, we need to update the callbacks in shared value
175
- let shouldUpdateSharedValue = previousHandlersValue.length !== newHandlersValue.length;
176
- if (!shouldUpdateSharedValue) {
177
- // if the amount is the same, we need to check if any of the configs inside has changed
178
- for (let i = 0; i < newHandlersValue.length; i++) {
179
- if (
180
- // we can use the `gestureId` prop as it's unique for every config instance
181
- newHandlersValue[i].gestureId !== previousHandlersValue[i].gestureId) {
182
- shouldUpdateSharedValue = true;
183
- break;
184
- }
185
- }
186
- }
187
- if (shouldUpdateSharedValue) {
188
- preparedGesture.animatedHandlers.value = newHandlersValue;
189
- }
190
- }
191
- scheduleFlushOperations();
192
- });
193
- }
194
- function needsToReattach(preparedGesture, gesture) {
195
- if (gesture.length !== preparedGesture.config.length) {
196
- return true;
197
- }
198
- for (let i = 0; i < gesture.length; i++) {
199
- if (gesture[i].handlerName !== preparedGesture.config[i].handlerName || gesture[i].shouldUseReanimated !== preparedGesture.config[i].shouldUseReanimated) {
200
- return true;
201
- }
202
- }
203
- return false;
204
- }
205
- function isStateChangeEvent(event) {
206
- 'worklet';
207
-
208
- // @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point
209
- return event.oldState != null;
210
- }
211
- function isTouchEvent(event) {
212
- 'worklet';
213
-
214
- return event.eventType != null;
215
- }
216
- function getHandler(type, gesture) {
217
- 'worklet';
218
-
219
- switch (type) {
220
- case CALLBACK_TYPE.BEGAN:
221
- return gesture.onBegin;
222
- case CALLBACK_TYPE.START:
223
- return gesture.onStart;
224
- case CALLBACK_TYPE.UPDATE:
225
- return gesture.onUpdate;
226
- case CALLBACK_TYPE.CHANGE:
227
- return gesture.onChange;
228
- case CALLBACK_TYPE.END:
229
- return gesture.onEnd;
230
- case CALLBACK_TYPE.FINALIZE:
231
- return gesture.onFinalize;
232
- case CALLBACK_TYPE.TOUCHES_DOWN:
233
- return gesture.onTouchesDown;
234
- case CALLBACK_TYPE.TOUCHES_MOVE:
235
- return gesture.onTouchesMove;
236
- case CALLBACK_TYPE.TOUCHES_UP:
237
- return gesture.onTouchesUp;
238
- case CALLBACK_TYPE.TOUCHES_CANCELLED:
239
- return gesture.onTouchesCancelled;
240
- }
241
- }
242
- function touchEventTypeToCallbackType(eventType) {
243
- 'worklet';
244
-
245
- switch (eventType) {
246
- case TouchEventType.TOUCHES_DOWN:
247
- return CALLBACK_TYPE.TOUCHES_DOWN;
248
- case TouchEventType.TOUCHES_MOVE:
249
- return CALLBACK_TYPE.TOUCHES_MOVE;
250
- case TouchEventType.TOUCHES_UP:
251
- return CALLBACK_TYPE.TOUCHES_UP;
252
- case TouchEventType.TOUCHES_CANCELLED:
253
- return CALLBACK_TYPE.TOUCHES_CANCELLED;
254
- }
255
- return CALLBACK_TYPE.UNDEFINED;
256
- }
257
- function runWorklet(type, gesture, event, ...args) {
258
- 'worklet';
259
-
260
- const handler = getHandler(type, gesture);
261
- if (gesture.isWorklet[type]) {
262
- // @ts-ignore Logic below makes sure the correct event is send to the
263
- // correct handler.
264
- handler === null || handler === void 0 || handler(event, ...args);
265
- } else if (handler) {
266
- console.warn(tagMessage('Animated gesture callback must be a worklet'));
267
- }
268
- }
269
- function useAnimatedGesture(preparedGesture, needsRebuild) {
270
- if (!Reanimated) {
271
- return;
272
- }
273
-
274
- // Hooks are called conditionally, but the condition is whether the
275
- // react-native-reanimated is installed, which shouldn't change while running
276
- // eslint-disable-next-line react-hooks/rules-of-hooks
277
- const sharedHandlersCallbacks = Reanimated.useSharedValue(null);
278
-
279
- // eslint-disable-next-line react-hooks/rules-of-hooks
280
- const lastUpdateEvent = Reanimated.useSharedValue([]);
281
-
282
- // not every gesture needs a state controller, init them lazily
283
- const stateControllers = [];
284
- const callback = event => {
285
- 'worklet';
286
-
287
- const currentCallback = sharedHandlersCallbacks.value;
288
- if (!currentCallback) {
289
- return;
290
- }
291
- for (let i = 0; i < currentCallback.length; i++) {
292
- const gesture = currentCallback[i];
293
- if (event.handlerTag === gesture.handlerTag) {
294
- if (isStateChangeEvent(event)) {
295
- if (event.oldState === State.UNDETERMINED && event.state === State.BEGAN) {
296
- runWorklet(CALLBACK_TYPE.BEGAN, gesture, event);
297
- } else if ((event.oldState === State.BEGAN || event.oldState === State.UNDETERMINED) && event.state === State.ACTIVE) {
298
- runWorklet(CALLBACK_TYPE.START, gesture, event);
299
- lastUpdateEvent.value[gesture.handlerTag] = undefined;
300
- } else if (event.oldState !== event.state && event.state === State.END) {
301
- if (event.oldState === State.ACTIVE) {
302
- runWorklet(CALLBACK_TYPE.END, gesture, event, true);
303
- }
304
- runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, true);
305
- } else if ((event.state === State.FAILED || event.state === State.CANCELLED) && event.state !== event.oldState) {
306
- if (event.oldState === State.ACTIVE) {
307
- runWorklet(CALLBACK_TYPE.END, gesture, event, false);
308
- }
309
- runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, false);
310
- }
311
- } else if (isTouchEvent(event)) {
312
- if (!stateControllers[i]) {
313
- stateControllers[i] = GestureStateManager.create(event.handlerTag);
314
- }
315
- if (event.eventType !== TouchEventType.UNDETERMINED) {
316
- runWorklet(touchEventTypeToCallbackType(event.eventType), gesture, event, stateControllers[i]);
317
- }
318
- } else {
319
- runWorklet(CALLBACK_TYPE.UPDATE, gesture, event);
320
- if (gesture.onChange && gesture.changeEventCalculator) {
321
- var _gesture$changeEventC;
322
- runWorklet(CALLBACK_TYPE.CHANGE, gesture, (_gesture$changeEventC = gesture.changeEventCalculator) === null || _gesture$changeEventC === void 0 ? void 0 : _gesture$changeEventC.call(gesture, event, lastUpdateEvent.value[gesture.handlerTag]));
323
- lastUpdateEvent.value[gesture.handlerTag] = event;
324
- }
325
- }
326
- }
327
- }
328
- };
329
-
330
- // eslint-disable-next-line react-hooks/rules-of-hooks
331
- const event = Reanimated.useEvent(callback, ['onGestureHandlerStateChange', 'onGestureHandlerEvent'], needsRebuild);
332
- preparedGesture.animatedEventHandler = event;
333
- preparedGesture.animatedHandlers = sharedHandlersCallbacks;
334
- }
335
-
336
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
- function validateDetectorChildren(ref) {
338
- // finds the first native view under the Wrap component and traverses the fiber tree upwards
339
- // to check whether there is more than one native view as a pseudo-direct child of GestureDetector
340
- // i.e. this is not ok:
341
- // Wrap
342
- // |
343
- // / \
344
- // / \
345
- // / \
346
- // / \
347
- // NativeView NativeView
348
- //
349
- // but this is fine:
350
- // Wrap
351
- // |
352
- // NativeView
353
- // |
354
- // / \
355
- // / \
356
- // / \
357
- // / \
358
- // NativeView NativeView
359
- if (__DEV__ && Platform.OS !== 'web') {
360
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
361
- const wrapType = REACT_NATIVE_VERSION.minor > 63 || REACT_NATIVE_VERSION.major > 0 ?
362
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
363
- ref._reactInternals.elementType :
364
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
365
- ref._reactInternalFiber.elementType;
366
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
367
- let instance = RNRenderer.findHostInstance_DEPRECATED(ref)._internalFiberInstanceHandleDEV;
368
-
369
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
370
- while (instance && instance.elementType !== wrapType) {
371
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
372
- if (instance.sibling) {
373
- throw new Error('GestureDetector has more than one native view as its children. This can happen if you are using a custom component that renders multiple views, like React.Fragment. You should wrap content of GestureDetector with a <View> or <Animated.View>.');
374
- }
375
-
376
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
377
- instance = instance.return;
378
- }
379
- }
380
- }
381
- const applyUserSelectProp = (userSelect, gesture) => {
382
- for (const g of gesture.toGestureArray()) {
383
- g.config.userSelect = userSelect;
384
- }
385
- };
386
- export const GestureDetector = props => {
387
- const rootViewContext = useContext(GestureHandlerRootViewContext);
388
- if (__DEV__ && !rootViewContext && !isJestEnv() && Platform.OS !== 'web' && Platform.OS !== "harmony") {
389
- // RNOH: patch
390
- throw new Error('GestureDetector must be used as a descendant of GestureHandlerRootView. Otherwise the gestures will not be recognized. See https://docs.swmansion.com/react-native-gesture-handler/docs/installation for more details.');
391
- }
392
- const gestureConfig = props.gesture;
393
- if (props.userSelect) {
394
- applyUserSelectProp(props.userSelect, gestureConfig);
395
- }
396
- const gesture = gestureConfig.toGestureArray();
397
- const useReanimatedHook = gesture.some(g => g.shouldUseReanimated);
398
-
399
- // store state in ref to prevent unnecessary renders
400
- const state = useRef({
401
- firstRender: true,
402
- viewRef: null,
403
- previousViewTag: -1,
404
- forceReattach: false
405
- }).current;
406
- const mountedRef = useRef(false);
407
- const webEventHandlersRef = useRef({
408
- onGestureHandlerEvent: e => {
409
- onGestureHandlerEvent(e.nativeEvent);
410
- },
411
- onGestureHandlerStateChange: isNewWebImplementationEnabled() ? e => {
412
- onGestureHandlerEvent(e.nativeEvent);
413
- } : undefined
414
- });
415
- const [renderState, setRenderState] = useState(false);
416
- function forceRender() {
417
- setRenderState(!renderState);
418
- }
419
- const preparedGesture = React.useRef({
420
- config: gesture,
421
- animatedEventHandler: null,
422
- animatedHandlers: null,
423
- firstExecution: true,
424
- useReanimatedHook: useReanimatedHook
425
- }).current;
426
- if (useReanimatedHook !== preparedGesture.useReanimatedHook) {
427
- throw new Error(tagMessage('You cannot change the thread the callbacks are ran on while the app is running'));
428
- }
429
- function onHandlersUpdate(skipConfigUpdate) {
430
- // if the underlying view has changed we need to reattach handlers to the new view
431
- const viewTag = findNodeHandle(state.viewRef);
432
- const forceReattach = viewTag !== state.previousViewTag;
433
- if (forceReattach || needsToReattach(preparedGesture, gesture)) {
434
- validateDetectorChildren(state.viewRef);
435
- dropHandlers(preparedGesture);
436
- attachHandlers({
437
- preparedGesture,
438
- gestureConfig,
439
- gesture,
440
- webEventHandlersRef,
441
- viewTag,
442
- mountedRef
443
- });
444
- state.previousViewTag = viewTag;
445
- state.forceReattach = forceReattach;
446
- if (forceReattach) {
447
- forceRender();
448
- }
449
- } else if (!skipConfigUpdate) {
450
- updateHandlers(preparedGesture, gestureConfig, gesture, mountedRef);
451
- }
452
- }
453
-
454
- // Reanimated event should be rebuilt only when gestures are reattached, otherwise
455
- // config update will be enough as all necessary items are stored in shared values anyway
456
- const needsToRebuildReanimatedEvent = preparedGesture.firstExecution || needsToReattach(preparedGesture, gesture) || state.forceReattach;
457
- state.forceReattach = false;
458
- if (preparedGesture.firstExecution) {
459
- gestureConfig.initialize();
460
- }
461
- if (useReanimatedHook) {
462
- // Whether animatedGesture or gesture is used shouldn't change while the app is running
463
- // eslint-disable-next-line react-hooks/rules-of-hooks
464
- useAnimatedGesture(preparedGesture, needsToRebuildReanimatedEvent);
465
- }
466
- useEffect(() => {
467
- const viewTag = findNodeHandle(state.viewRef);
468
- state.firstRender = true;
469
- mountedRef.current = true;
470
- validateDetectorChildren(state.viewRef);
471
- attachHandlers({
472
- preparedGesture,
473
- gestureConfig,
474
- gesture,
475
- webEventHandlersRef,
476
- viewTag,
477
- mountedRef
478
- });
479
- return () => {
480
- mountedRef.current = false;
481
- dropHandlers(preparedGesture);
482
- };
483
- }, []);
484
- useEffect(() => {
485
- if (!state.firstRender) {
486
- onHandlersUpdate();
487
- } else {
488
- state.firstRender = false;
489
- }
490
- }, [props]);
491
- const refFunction = ref => {
492
- if (ref !== null) {
493
- // @ts-ignore Just setting the view ref
494
- state.viewRef = ref;
495
-
496
- // if it's the first render, also set the previousViewTag to prevent reattaching gestures when not needed
497
- if (state.previousViewTag === -1) {
498
- state.previousViewTag = findNodeHandle(state.viewRef);
499
- }
500
-
501
- // pass true as `skipConfigUpdate`, here we only want to trigger the eventual reattaching of handlers
502
- // in case the view has changed, while config update would be handled be the `useEffect` above
503
- onHandlersUpdate(true);
504
- if (isFabric()) {
505
- const node = getShadowNodeFromRef(ref);
506
- if (global.isFormsStackingContext(node) === false) {
507
- console.error(tagMessage('GestureDetector has received a child that may get view-flattened. ' + '\nTo prevent it from misbehaving you need to wrap the child with a `<View collapsable={false}>`.'));
508
- }
509
- }
510
- }
511
- };
512
- if (useReanimatedHook) {
513
- return /*#__PURE__*/React.createElement(AnimatedWrap, {
514
- ref: refFunction,
515
- onGestureHandlerEvent: preparedGesture.animatedEventHandler
516
- }, props.children);
517
- } else {
518
- return /*#__PURE__*/React.createElement(Wrap, {
519
- ref: refFunction
520
- }, props.children);
521
- }
522
- };
523
- class Wrap extends React.Component {
524
- render() {
525
- try {
526
- // I don't think that fighting with types over such a simple function is worth it
527
- // The only thing it does is add 'collapsable: false' to the child component
528
- // to make sure it is in the native view hierarchy so the detector can find
529
- // correct viewTag to attach to.
530
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
531
- const child = React.Children.only(this.props.children);
532
- return /*#__PURE__*/React.cloneElement(child, {
533
- collapsable: false
534
- },
535
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
536
- child.props.children);
537
- } catch (e) {
538
- throw new Error(tagMessage(`GestureDetector got more than one view as a child. If you want the gesture to work on multiple views, wrap them with a common parent and attach the gesture to that view.`));
539
- }
540
- }
541
- }
542
- const AnimatedWrap = (Reanimated === null || Reanimated === void 0 || (_Reanimated$default = Reanimated.default) === null || _Reanimated$default === void 0 ? void 0 : _Reanimated$default.createAnimatedComponent(Wrap)) ?? Wrap;
543
- //# sourceMappingURL=GestureDetector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useContext","useEffect","useRef","useState","BaseGesture","CALLBACK_TYPE","Reanimated","registerHandler","unregisterHandler","RNGestureHandlerModule","baseGestureHandlerWithMonitorProps","filterConfig","findNodeHandle","scheduleFlushOperations","GestureStateManager","flingGestureHandlerProps","forceTouchGestureHandlerProps","longPressGestureHandlerProps","panGestureHandlerProps","panGestureHandlerCustomNativeProps","tapGestureHandlerProps","State","TouchEventType","ActionType","isFabric","isJestEnv","REACT_NATIVE_VERSION","tagMessage","getShadowNodeFromRef","Platform","onGestureHandlerEvent","RNRenderer","isNewWebImplementationEnabled","nativeViewGestureHandlerProps","GestureHandlerRootViewContext","ALLOWED_PROPS","convertToHandlerTag","ref","handlerTag","_ref$current","current","extractValidHandlerTags","interactionGroup","_interactionGroup$map","map","filter","tag","dropHandlers","preparedGesture","handler","config","dropGestureHandler","testId","checkGestureCallbacksForWorklets","gesture","runOnJS","areSomeNotWorklets","handlers","isWorklet","includes","areSomeWorklets","console","error","attachHandlers","gestureConfig","viewTag","webEventHandlersRef","mountedRef","firstExecution","initialize","queueMicrotask","prepare","createGestureHandler","handlerName","requireToFail","simultaneousWith","updateGestureHandler","simultaneousHandlers","waitFor","actionType","shouldUseReanimated","REANIMATED_WORKLET","JS_FUNCTION_NEW_API","OS","attachGestureHandler","JS_FUNCTION_OLD_API","animatedHandlers","isAnimatedGesture","g","value","updateHandlers","i","length","previousHandlersValue","newHandlersValue","shouldUpdateSharedValue","gestureId","needsToReattach","isStateChangeEvent","event","oldState","isTouchEvent","eventType","getHandler","type","BEGAN","onBegin","START","onStart","UPDATE","onUpdate","CHANGE","onChange","END","onEnd","FINALIZE","onFinalize","TOUCHES_DOWN","onTouchesDown","TOUCHES_MOVE","onTouchesMove","TOUCHES_UP","onTouchesUp","TOUCHES_CANCELLED","onTouchesCancelled","touchEventTypeToCallbackType","UNDEFINED","runWorklet","args","warn","useAnimatedGesture","needsRebuild","sharedHandlersCallbacks","useSharedValue","lastUpdateEvent","stateControllers","callback","currentCallback","UNDETERMINED","state","ACTIVE","undefined","FAILED","CANCELLED","create","changeEventCalculator","_gesture$changeEventC","call","useEvent","animatedEventHandler","validateDetectorChildren","__DEV__","wrapType","minor","major","_reactInternals","elementType","_reactInternalFiber","instance","findHostInstance_DEPRECATED","_internalFiberInstanceHandleDEV","sibling","Error","return","applyUserSelectProp","userSelect","toGestureArray","GestureDetector","props","rootViewContext","useReanimatedHook","some","firstRender","viewRef","previousViewTag","forceReattach","e","nativeEvent","onGestureHandlerStateChange","renderState","setRenderState","forceRender","onHandlersUpdate","skipConfigUpdate","needsToRebuildReanimatedEvent","refFunction","node","global","isFormsStackingContext","createElement","AnimatedWrap","children","Wrap","Component","render","child","Children","only","cloneElement","collapsable","_Reanimated$default","default","createAnimatedComponent"],"sourceRoot":"..\\..\\..\\..\\src","sources":["handlers/gestures/GestureDetector.tsx"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { startListening } from 'react-native-gesture-handler/src/handlers/gestures/eventReceiver';
2
- import { RNGestureHandlerModule } from './RNGestureHandlerModule';
3
- import { isFabric } from 'react-native-gesture-handler/src/utils';
4
- let fabricInitialized = false;
5
- export function initialize() {
6
- startListening();
7
- }
8
-
9
- // since isFabric() may give wrong results before the first render, we call this
10
- // method during render of GestureHandlerRootView
11
- export function maybeInitializeFabric() {
12
- if (isFabric() && !fabricInitialized) {
13
- RNGestureHandlerModule.install();
14
- fabricInitialized = true;
15
- }
16
- }
17
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["startListening","RNGestureHandlerModule","isFabric","fabricInitialized","initialize","maybeInitializeFabric","install"],"sourceRoot":"..\\..\\src","sources":["init.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,kEAAkE;AACjG,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,QAAQ,QAAQ,wCAAwC;AAEjE,IAAIC,iBAAiB,GAAG,KAAK;AAE7B,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3BJ,cAAc,CAAC,CAAC;AAClB;;AAEA;AACA;AACA,OAAO,SAASK,qBAAqBA,CAAA,EAAG;EACtC,IAAIH,QAAQ,CAAC,CAAC,IAAI,CAACC,iBAAiB,EAAE;IACpCF,sBAAsB,CAACK,OAAO,CAAC,CAAC;IAChCH,iBAAiB,GAAG,IAAI;EAC1B;AACF"}