react-native-gesture-handler 2.16.0 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/README.md +1 -0
  2. package/lib/commonjs/RNGestureHandlerModule.js +97 -4
  3. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  4. package/lib/commonjs/RNGestureHandlerModule.native.js +16 -0
  5. package/lib/commonjs/RNGestureHandlerModule.native.js.map +1 -0
  6. package/lib/commonjs/RNRenderer.js +5 -10
  7. package/lib/commonjs/RNRenderer.js.map +1 -1
  8. package/lib/commonjs/RNRenderer.native.js +16 -0
  9. package/lib/commonjs/RNRenderer.native.js.map +1 -0
  10. package/lib/commonjs/components/GestureComponents.js +19 -82
  11. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  12. package/lib/commonjs/components/GestureComponents.native.js +115 -0
  13. package/lib/commonjs/components/GestureComponents.native.js.map +1 -0
  14. package/lib/commonjs/components/GestureHandlerButton.js +13 -3
  15. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  16. package/lib/commonjs/components/GestureHandlerButton.native.js +14 -0
  17. package/lib/commonjs/components/GestureHandlerButton.native.js.map +1 -0
  18. package/lib/commonjs/components/GestureHandlerRootView.js +0 -6
  19. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  20. package/lib/commonjs/components/{GestureHandlerRootView.web.js → GestureHandlerRootView.native.js} +7 -1
  21. package/lib/commonjs/components/GestureHandlerRootView.native.js.map +1 -0
  22. package/lib/commonjs/getReactNativeVersion.js +1 -12
  23. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  24. package/lib/commonjs/getReactNativeVersion.native.js +22 -0
  25. package/lib/commonjs/getReactNativeVersion.native.js.map +1 -0
  26. package/lib/commonjs/getShadowNodeFromRef.js +5 -34
  27. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  28. package/lib/commonjs/getShadowNodeFromRef.native.js +44 -0
  29. package/lib/commonjs/getShadowNodeFromRef.native.js.map +1 -0
  30. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  31. package/lib/commonjs/handlers/PressabilityDebugView.js +5 -7
  32. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  33. package/lib/commonjs/handlers/PressabilityDebugView.native.js +14 -0
  34. package/lib/commonjs/handlers/PressabilityDebugView.native.js.map +1 -0
  35. package/lib/commonjs/handlers/createHandler.js +9 -3
  36. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  37. package/lib/commonjs/handlers/customDirectEventTypes.js +5 -8
  38. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  39. package/lib/commonjs/handlers/customDirectEventTypes.native.js +14 -0
  40. package/lib/commonjs/handlers/customDirectEventTypes.native.js.map +1 -0
  41. package/lib/commonjs/handlers/gestures/GestureDetector.js +15 -0
  42. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  43. package/lib/commonjs/handlers/gestures/flingGesture.js +13 -0
  44. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  45. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +17 -0
  46. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  47. package/lib/commonjs/handlers/gestures/gesture.js +135 -0
  48. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  49. package/lib/commonjs/handlers/gestures/gestureObjects.js +66 -0
  50. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  51. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +1 -1
  52. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  53. package/lib/commonjs/handlers/gestures/hoverGesture.js +1 -1
  54. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  55. package/lib/commonjs/handlers/gestures/longPressGesture.js +12 -0
  56. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  57. package/lib/commonjs/handlers/gestures/nativeGesture.js +10 -0
  58. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  59. package/lib/commonjs/handlers/gestures/panGesture.js +76 -0
  60. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  61. package/lib/commonjs/handlers/gestures/tapGesture.js +42 -0
  62. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  63. package/lib/commonjs/utils.js +5 -1
  64. package/lib/commonjs/utils.js.map +1 -1
  65. package/lib/commonjs/web/handlers/GestureHandler.js +7 -7
  66. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  67. package/lib/commonjs/web/handlers/PanGestureHandler.js +3 -1
  68. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  69. package/lib/commonjs/web/interfaces.js.map +1 -1
  70. package/lib/module/RNGestureHandlerModule.js +84 -4
  71. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  72. package/lib/module/RNGestureHandlerModule.native.js +5 -0
  73. package/lib/module/RNGestureHandlerModule.native.js.map +1 -0
  74. package/lib/module/RNRenderer.js +3 -3
  75. package/lib/module/RNRenderer.js.map +1 -1
  76. package/lib/module/RNRenderer.native.js +4 -0
  77. package/lib/module/RNRenderer.native.js.map +1 -0
  78. package/lib/module/components/GestureComponents.js +18 -80
  79. package/lib/module/components/GestureComponents.js.map +1 -1
  80. package/lib/module/components/GestureComponents.native.js +90 -0
  81. package/lib/module/components/GestureComponents.native.js.map +1 -0
  82. package/lib/module/components/GestureHandlerButton.js +8 -2
  83. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  84. package/lib/module/components/GestureHandlerButton.native.js +3 -0
  85. package/lib/module/components/GestureHandlerButton.native.js.map +1 -0
  86. package/lib/module/components/GestureHandlerRootView.js +0 -5
  87. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  88. package/lib/module/components/{GestureHandlerRootView.web.js → GestureHandlerRootView.native.js} +6 -1
  89. package/lib/module/components/GestureHandlerRootView.native.js.map +1 -0
  90. package/lib/module/getReactNativeVersion.js +1 -7
  91. package/lib/module/getReactNativeVersion.js.map +1 -1
  92. package/lib/module/getReactNativeVersion.native.js +10 -0
  93. package/lib/module/getReactNativeVersion.native.js.map +1 -0
  94. package/lib/module/getShadowNodeFromRef.js +4 -33
  95. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  96. package/lib/module/getShadowNodeFromRef.native.js +37 -0
  97. package/lib/module/getShadowNodeFromRef.native.js.map +1 -0
  98. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  99. package/lib/module/handlers/PressabilityDebugView.js +4 -2
  100. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  101. package/lib/module/handlers/PressabilityDebugView.native.js +3 -0
  102. package/lib/module/handlers/PressabilityDebugView.native.js.map +1 -0
  103. package/lib/module/handlers/createHandler.js +9 -3
  104. package/lib/module/handlers/createHandler.js.map +1 -1
  105. package/lib/module/handlers/customDirectEventTypes.js +4 -2
  106. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  107. package/lib/module/handlers/customDirectEventTypes.native.js +3 -0
  108. package/lib/module/handlers/customDirectEventTypes.native.js.map +1 -0
  109. package/lib/module/handlers/gestures/GestureDetector.js +15 -0
  110. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  111. package/lib/module/handlers/gestures/flingGesture.js +13 -0
  112. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  113. package/lib/module/handlers/gestures/forceTouchGesture.js +17 -0
  114. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  115. package/lib/module/handlers/gestures/gesture.js +135 -0
  116. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  117. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  118. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  119. package/lib/module/handlers/gestures/gestureStateManager.web.js +1 -1
  120. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  121. package/lib/module/handlers/gestures/hoverGesture.js +1 -1
  122. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  123. package/lib/module/handlers/gestures/longPressGesture.js +12 -0
  124. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  125. package/lib/module/handlers/gestures/nativeGesture.js +10 -0
  126. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  127. package/lib/module/handlers/gestures/panGesture.js +76 -0
  128. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  129. package/lib/module/handlers/gestures/tapGesture.js +42 -0
  130. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  131. package/lib/module/utils.js +5 -1
  132. package/lib/module/utils.js.map +1 -1
  133. package/lib/module/web/handlers/GestureHandler.js +7 -7
  134. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  135. package/lib/module/web/handlers/PanGestureHandler.js +3 -1
  136. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  137. package/lib/module/web/interfaces.js.map +1 -1
  138. package/lib/typescript/RNGestureHandlerModule.d.ts +15 -2
  139. package/lib/typescript/RNGestureHandlerModule.native.d.ts +2 -0
  140. package/lib/typescript/RNRenderer.d.ts +3 -1
  141. package/lib/typescript/RNRenderer.native.d.ts +1 -0
  142. package/lib/typescript/components/GestureComponents.d.ts +7 -21
  143. package/lib/typescript/components/GestureComponents.native.d.ts +22 -0
  144. package/lib/typescript/components/GestureHandlerButton.d.ts +3 -3
  145. package/lib/typescript/components/GestureHandlerButton.native.d.ts +4 -0
  146. package/lib/typescript/getReactNativeVersion.d.ts +1 -4
  147. package/lib/typescript/getReactNativeVersion.native.d.ts +4 -0
  148. package/lib/typescript/getShadowNodeFromRef.d.ts +1 -1
  149. package/lib/typescript/getShadowNodeFromRef.native.d.ts +1 -0
  150. package/lib/typescript/handlers/PanGestureHandler.d.ts +4 -4
  151. package/lib/typescript/handlers/PressabilityDebugView.d.ts +1 -1
  152. package/lib/typescript/handlers/PressabilityDebugView.native.d.ts +1 -0
  153. package/lib/typescript/handlers/customDirectEventTypes.d.ts +2 -1
  154. package/lib/typescript/handlers/customDirectEventTypes.native.d.ts +1 -0
  155. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +36 -0
  156. package/lib/typescript/handlers/gestures/flingGesture.d.ts +11 -0
  157. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +14 -0
  158. package/lib/typescript/handlers/gestures/gesture.d.ts +113 -0
  159. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +57 -0
  160. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +1 -1
  161. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +10 -0
  162. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +8 -0
  163. package/lib/typescript/handlers/gestures/panGesture.d.ts +67 -4
  164. package/lib/typescript/handlers/gestures/tapGesture.d.ts +35 -0
  165. package/lib/typescript/web/handlers/GestureHandler.d.ts +2 -2
  166. package/lib/typescript/web/handlers/IGestureHandler.d.ts +1 -1
  167. package/lib/typescript/web/interfaces.d.ts +1 -0
  168. package/package.json +3 -2
  169. package/src/RNGestureHandlerModule.native.ts +5 -0
  170. package/src/RNGestureHandlerModule.ts +104 -4
  171. package/src/RNRenderer.native.ts +3 -0
  172. package/src/RNRenderer.ts +3 -3
  173. package/src/components/GestureComponents.native.tsx +148 -0
  174. package/src/components/GestureComponents.tsx +24 -131
  175. package/src/components/GestureHandlerButton.native.tsx +5 -0
  176. package/src/components/GestureHandlerButton.tsx +5 -4
  177. package/src/components/{GestureHandlerRootView.web.tsx → GestureHandlerRootView.native.tsx} +6 -0
  178. package/src/components/GestureHandlerRootView.tsx +0 -6
  179. package/src/getReactNativeVersion.native.ts +11 -0
  180. package/src/getReactNativeVersion.ts +1 -9
  181. package/src/getShadowNodeFromRef.native.ts +44 -0
  182. package/src/getShadowNodeFromRef.ts +4 -41
  183. package/src/handlers/PanGestureHandler.ts +8 -4
  184. package/src/handlers/PressabilityDebugView.native.tsx +2 -0
  185. package/src/handlers/PressabilityDebugView.tsx +4 -2
  186. package/src/handlers/createHandler.tsx +14 -10
  187. package/src/handlers/customDirectEventTypes.native.ts +2 -0
  188. package/src/handlers/customDirectEventTypes.ts +5 -2
  189. package/src/handlers/gestures/GestureDetector.tsx +47 -4
  190. package/src/handlers/gestures/flingGesture.ts +11 -0
  191. package/src/handlers/gestures/forceTouchGesture.ts +14 -0
  192. package/src/handlers/gestures/gesture.ts +113 -0
  193. package/src/handlers/gestures/gestureObjects.ts +57 -0
  194. package/src/handlers/gestures/gestureStateManager.web.ts +1 -1
  195. package/src/handlers/gestures/hoverGesture.ts +1 -1
  196. package/src/handlers/gestures/longPressGesture.ts +10 -0
  197. package/src/handlers/gestures/nativeGesture.ts +8 -0
  198. package/src/handlers/gestures/panGesture.ts +75 -4
  199. package/src/handlers/gestures/tapGesture.ts +35 -0
  200. package/src/utils.ts +9 -2
  201. package/src/web/handlers/GestureHandler.ts +9 -9
  202. package/src/web/handlers/IGestureHandler.ts +1 -1
  203. package/src/web/handlers/PanGestureHandler.ts +4 -0
  204. package/src/web/interfaces.ts +1 -0
  205. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -109
  206. package/lib/commonjs/RNGestureHandlerModule.web.js.map +0 -1
  207. package/lib/commonjs/RNRenderer.web.js +0 -11
  208. package/lib/commonjs/RNRenderer.web.js.map +0 -1
  209. package/lib/commonjs/components/GestureComponents.web.js +0 -52
  210. package/lib/commonjs/components/GestureComponents.web.js.map +0 -1
  211. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -24
  212. package/lib/commonjs/components/GestureHandlerButton.web.js.map +0 -1
  213. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +0 -1
  214. package/lib/commonjs/getReactNativeVersion.web.js +0 -11
  215. package/lib/commonjs/getReactNativeVersion.web.js.map +0 -1
  216. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -15
  217. package/lib/commonjs/getShadowNodeFromRef.web.js.map +0 -1
  218. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -12
  219. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +0 -1
  220. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -11
  221. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +0 -1
  222. package/lib/module/RNGestureHandlerModule.web.js +0 -85
  223. package/lib/module/RNGestureHandlerModule.web.js.map +0 -1
  224. package/lib/module/RNRenderer.web.js +0 -4
  225. package/lib/module/RNRenderer.web.js.map +0 -1
  226. package/lib/module/components/GestureComponents.web.js +0 -28
  227. package/lib/module/components/GestureComponents.web.js.map +0 -1
  228. package/lib/module/components/GestureHandlerButton.web.js +0 -9
  229. package/lib/module/components/GestureHandlerButton.web.js.map +0 -1
  230. package/lib/module/components/GestureHandlerRootView.web.js.map +0 -1
  231. package/lib/module/getReactNativeVersion.web.js +0 -4
  232. package/lib/module/getReactNativeVersion.web.js.map +0 -1
  233. package/lib/module/getShadowNodeFromRef.web.js +0 -8
  234. package/lib/module/getShadowNodeFromRef.web.js.map +0 -1
  235. package/lib/module/handlers/PressabilityDebugView.web.js +0 -5
  236. package/lib/module/handlers/PressabilityDebugView.web.js.map +0 -1
  237. package/lib/module/handlers/customDirectEventTypes.web.js +0 -5
  238. package/lib/module/handlers/customDirectEventTypes.web.js.map +0 -1
  239. package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -15
  240. package/lib/typescript/RNRenderer.web.d.ts +0 -3
  241. package/lib/typescript/components/GestureComponents.web.d.ts +0 -8
  242. package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -4
  243. package/lib/typescript/getReactNativeVersion.web.d.ts +0 -1
  244. package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
  245. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
  246. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -2
  247. package/src/RNGestureHandlerModule.web.ts +0 -105
  248. package/src/RNRenderer.web.ts +0 -3
  249. package/src/components/GestureComponents.web.tsx +0 -41
  250. package/src/components/GestureHandlerButton.web.tsx +0 -6
  251. package/src/getReactNativeVersion.web.ts +0 -3
  252. package/src/getShadowNodeFromRef.web.ts +0 -7
  253. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  254. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  255. /package/lib/typescript/components/{GestureHandlerRootView.web.d.ts → GestureHandlerRootView.native.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import { View, ViewProps, StyleSheet } from 'react-native';
4
+ import { maybeInitializeFabric } from '../init';
4
5
  import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
5
6
 
6
7
  export interface GestureHandlerRootViewProps
@@ -10,6 +11,11 @@ export default function GestureHandlerRootView({
10
11
  style,
11
12
  ...rest
12
13
  }: GestureHandlerRootViewProps) {
14
+ // try initialize fabric on the first render, at this point we can
15
+ // reliably check if fabric is enabled (the function contains a flag
16
+ // to make sure it's called only once)
17
+ maybeInitializeFabric();
18
+
13
19
  return (
14
20
  <GestureHandlerRootViewContext.Provider value>
15
21
  <View style={style ?? styles.container} {...rest} />
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import { View, ViewProps, StyleSheet } from 'react-native';
4
- import { maybeInitializeFabric } from '../init';
5
4
  import GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';
6
5
 
7
6
  export interface GestureHandlerRootViewProps
@@ -11,11 +10,6 @@ export default function GestureHandlerRootView({
11
10
  style,
12
11
  ...rest
13
12
  }: GestureHandlerRootViewProps) {
14
- // try initialize fabric on the first render, at this point we can
15
- // reliably check if fabric is enabled (the function contains a flag
16
- // to make sure it's called only once)
17
- maybeInitializeFabric();
18
-
19
13
  return (
20
14
  <GestureHandlerRootViewContext.Provider value>
21
15
  <View style={style ?? styles.container} {...rest} />
@@ -0,0 +1,11 @@
1
+ import pack from 'react-native/package.json';
2
+
3
+ const [majorStr, minorStr] = pack.version.split('.');
4
+ const REACT_NATIVE_VERSION = {
5
+ major: parseInt(majorStr, 10),
6
+ minor: parseInt(minorStr, 10),
7
+ };
8
+
9
+ export function getReactNativeVersion() {
10
+ return REACT_NATIVE_VERSION;
11
+ }
@@ -1,11 +1,3 @@
1
- import pack from 'react-native/package.json';
2
-
3
- const [majorStr, minorStr] = pack.version.split('.');
4
- const REACT_NATIVE_VERSION = {
5
- major: parseInt(majorStr, 10),
6
- minor: parseInt(minorStr, 10),
7
- };
8
-
9
1
  export function getReactNativeVersion() {
10
- return REACT_NATIVE_VERSION;
2
+ throw new Error('getReactNativeVersion is not supported on web');
11
3
  }
@@ -0,0 +1,44 @@
1
+ // Used by GestureDetector (unsupported on web at the moment) to check whether the
2
+ // attached view may get flattened on Fabric. This implementation causes errors
3
+ // on web due to the static resolution of `require` statements by webpack breaking
4
+ // the conditional importing. Solved by making .web file.
5
+ let findHostInstance_DEPRECATED: (ref: unknown) => void;
6
+ let getInternalInstanceHandleFromPublicInstance: (ref: unknown) => {
7
+ stateNode: { node: unknown };
8
+ };
9
+
10
+ export function getShadowNodeFromRef(ref: unknown) {
11
+ // load findHostInstance_DEPRECATED lazily because it may not be available before render
12
+ if (findHostInstance_DEPRECATED === undefined) {
13
+ try {
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
15
+ findHostInstance_DEPRECATED =
16
+ // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access
17
+ require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
18
+ } catch (e) {
19
+ findHostInstance_DEPRECATED = (_ref: unknown) => null;
20
+ }
21
+ }
22
+
23
+ // load findHostInstance_DEPRECATED lazily because it may not be available before render
24
+ if (getInternalInstanceHandleFromPublicInstance === undefined) {
25
+ try {
26
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
27
+ getInternalInstanceHandleFromPublicInstance =
28
+ // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access
29
+ require('react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')
30
+ .getInternalInstanceHandleFromPublicInstance ??
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
32
+ ((ref: any) => ref._internalInstanceHandle);
33
+ } catch (e) {
34
+ getInternalInstanceHandleFromPublicInstance = (ref: any) =>
35
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
36
+ ref._internalInstanceHandle;
37
+ }
38
+ }
39
+
40
+ // @ts-ignore Fabric
41
+ return getInternalInstanceHandleFromPublicInstance(
42
+ findHostInstance_DEPRECATED(ref)
43
+ ).stateNode.node;
44
+ }
@@ -1,44 +1,7 @@
1
1
  // Used by GestureDetector (unsupported on web at the moment) to check whether the
2
- // attached view may get flattened on Fabric. This implementation causes errors
2
+ // attached view may get flattened on Fabric. Original implementation causes errors
3
3
  // on web due to the static resolution of `require` statements by webpack breaking
4
- // the conditional importing. Solved by making .web file.
5
- let findHostInstance_DEPRECATED: (ref: unknown) => void;
6
- let getInternalInstanceHandleFromPublicInstance: (ref: unknown) => {
7
- stateNode: { node: unknown };
8
- };
9
-
10
- export function getShadowNodeFromRef(ref: unknown) {
11
- // load findHostInstance_DEPRECATED lazily because it may not be available before render
12
- if (findHostInstance_DEPRECATED === undefined) {
13
- try {
14
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
15
- findHostInstance_DEPRECATED =
16
- // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access
17
- require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
18
- } catch (e) {
19
- findHostInstance_DEPRECATED = (_ref: unknown) => null;
20
- }
21
- }
22
-
23
- // load findHostInstance_DEPRECATED lazily because it may not be available before render
24
- if (getInternalInstanceHandleFromPublicInstance === undefined) {
25
- try {
26
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
27
- getInternalInstanceHandleFromPublicInstance =
28
- // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access
29
- require('react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')
30
- .getInternalInstanceHandleFromPublicInstance ??
31
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
32
- ((ref: any) => ref._internalInstanceHandle);
33
- } catch (e) {
34
- getInternalInstanceHandleFromPublicInstance = (ref: any) =>
35
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
36
- ref._internalInstanceHandle;
37
- }
38
- }
39
-
40
- // @ts-ignore Fabric
41
- return getInternalInstanceHandleFromPublicInstance(
42
- findHostInstance_DEPRECATED(ref)
43
- ).stateNode.node;
4
+ // the conditional importing.
5
+ export function getShadowNodeFromRef(_ref: any) {
6
+ return null;
44
7
  }
@@ -150,7 +150,9 @@ export interface PanGestureHandlerProps
150
150
  * to 0. If only one number `p` is given a range of `(-inf, p)` will be used
151
151
  * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.
152
152
  */
153
- activeOffsetY?: number | number[];
153
+ activeOffsetY?:
154
+ | number
155
+ | [activeOffsetYStart: number, activeOffsetYEnd: number];
154
156
 
155
157
  /**
156
158
  * Range along X axis (in points) where fingers travels without activation of
@@ -160,7 +162,9 @@ export interface PanGestureHandlerProps
160
162
  * to 0. If only one number `p` is given a range of `(-inf, p)` will be used
161
163
  * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.
162
164
  */
163
- activeOffsetX?: number | number[];
165
+ activeOffsetX?:
166
+ | number
167
+ | [activeOffsetXStart: number, activeOffsetXEnd: number];
164
168
 
165
169
  /**
166
170
  * When the finger moves outside this range (in points) along Y axis and
@@ -170,7 +174,7 @@ export interface PanGestureHandlerProps
170
174
  * to 0. If only one number `p` is given a range of `(-inf, p)` will be used
171
175
  * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.
172
176
  */
173
- failOffsetY?: number | number[];
177
+ failOffsetY?: number | [failOffsetYStart: number, failOffsetYEnd: number];
174
178
 
175
179
  /**
176
180
  * When the finger moves outside this range (in points) along X axis and
@@ -180,7 +184,7 @@ export interface PanGestureHandlerProps
180
184
  * to 0. If only one number `p` is given a range of `(-inf, p)` will be used
181
185
  * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.
182
186
  */
183
- failOffsetX?: number | number[];
187
+ failOffsetX?: number | [failOffsetXStart: number, failOffsetXEnd: number];
184
188
  }
185
189
 
186
190
  export const panHandlerName = 'PanGestureHandler';
@@ -0,0 +1,2 @@
1
+ // @ts-ignore it's not exported so we need to import it from path
2
+ export { PressabilityDebugView } from 'react-native/Libraries/Pressability/PressabilityDebug';
@@ -1,2 +1,4 @@
1
- // @ts-ignore it's not exported so we need to import it from path
2
- export { PressabilityDebugView } from 'react-native/Libraries/Pressability/PressabilityDebug';
1
+ // PressabilityDebugView is not implemented in react-native-web
2
+ export function PressabilityDebugView() {
3
+ return null;
4
+ }
@@ -341,18 +341,22 @@ export default function createHandler<
341
341
  });
342
342
 
343
343
  const actionType = (() => {
344
- if (
345
- (this.props?.onGestureEvent &&
346
- 'current' in this.props.onGestureEvent) ||
347
- (this.props?.onHandlerStateChange &&
348
- 'current' in this.props.onHandlerStateChange)
349
- ) {
344
+ const onGestureEvent = this.props?.onGestureEvent;
345
+ const isGestureHandlerWorklet =
346
+ onGestureEvent &&
347
+ ('current' in onGestureEvent ||
348
+ 'workletEventHandler' in onGestureEvent);
349
+ const onHandlerStateChange = this.props?.onHandlerStateChange;
350
+ const isStateChangeHandlerWorklet =
351
+ onHandlerStateChange &&
352
+ ('current' in onHandlerStateChange ||
353
+ 'workletEventHandler' in onHandlerStateChange);
354
+ const isReanimatedHandler =
355
+ isGestureHandlerWorklet || isStateChangeHandlerWorklet;
356
+ if (isReanimatedHandler) {
350
357
  // Reanimated worklet
351
358
  return ActionType.REANIMATED_WORKLET;
352
- } else if (
353
- this.props?.onGestureEvent &&
354
- '__isNative' in this.props.onGestureEvent
355
- ) {
359
+ } else if (onGestureEvent && '__isNative' in onGestureEvent) {
356
360
  // Animated.event with useNativeDriver: true
357
361
  return ActionType.NATIVE_ANIMATED_EVENT;
358
362
  } else {
@@ -0,0 +1,2 @@
1
+ // @ts-ignore - its taken straight from RN
2
+ export { customDirectEventTypes } from 'react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
@@ -1,2 +1,5 @@
1
- // @ts-ignore - its taken straight from RN
2
- export { customDirectEventTypes } from 'react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
1
+ // customDirectEventTypes doesn't exist in react-native-web, therefore importing it
2
+ // directly in createHandler.tsx would end in crash.
3
+ const customDirectEventTypes = {};
4
+
5
+ export { customDirectEventTypes };
@@ -42,7 +42,6 @@ import { isFabric, isJestEnv, tagMessage } from '../../utils';
42
42
  import { getReactNativeVersion } from '../../getReactNativeVersion';
43
43
  import { getShadowNodeFromRef } from '../../getShadowNodeFromRef';
44
44
  import { Platform } from 'react-native';
45
- import type RNGestureHandlerModuleWeb from '../../RNGestureHandlerModule.web';
46
45
  import { onGestureHandlerEvent } from './eventReceiver';
47
46
  import { RNRenderer } from '../../RNRenderer';
48
47
  import { isNewWebImplementationEnabled } from '../../EnableNewWebImplementation';
@@ -50,6 +49,14 @@ import { nativeViewGestureHandlerProps } from '../NativeViewGestureHandler';
50
49
  import GestureHandlerRootViewContext from '../../GestureHandlerRootViewContext';
51
50
  import { ghQueueMicrotask } from '../../ghQueueMicrotask';
52
51
 
52
+ type AttachGestureHandlerWeb = (
53
+ handlerTag: number,
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ newView: any,
56
+ _actionType: ActionType,
57
+ propsRef: React.RefObject<unknown>
58
+ ) => void;
59
+
53
60
  declare const global: {
54
61
  isFormsStackingContext: (node: unknown) => boolean | null; // JSI function
55
62
  };
@@ -220,9 +227,7 @@ function attachHandlers({
220
227
  : ActionType.JS_FUNCTION_NEW_API;
221
228
 
222
229
  if (Platform.OS === 'web') {
223
- (
224
- RNGestureHandlerModule.attachGestureHandler as typeof RNGestureHandlerModuleWeb.attachGestureHandler
225
- )(
230
+ (RNGestureHandlerModule.attachGestureHandler as AttachGestureHandlerWeb)(
226
231
  gesture.handlerTag,
227
232
  viewTag,
228
233
  ActionType.JS_FUNCTION_OLD_API, // ignored on web
@@ -625,10 +630,32 @@ const applyTouchActionProp = (
625
630
  };
626
631
 
627
632
  interface GestureDetectorProps {
633
+ /**
634
+ * A gesture object containing the configuration and callbacks.
635
+ * Can be any of:
636
+ * - base gestures (`Tap`, `Pan`, ...)
637
+ * - `ComposedGesture` (`Race`, `Simultaneous`, `Exclusive`)
638
+ */
628
639
  gesture: ComposedGesture | GestureType;
629
640
  children?: React.ReactNode;
641
+
642
+ /**
643
+ * #### Web only
644
+ * This parameter allows to specify which `userSelect` property should be applied to underlying view.
645
+ * Possible values are `"none" | "auto" | "text"`. Default value is set to `"none"`.
646
+ */
630
647
  userSelect?: UserSelect;
648
+ /**
649
+ * #### Web only
650
+ * Specifies whether context menu should be enabled after clicking on underlying view with right mouse button.
651
+ * Default value is set to `false`.
652
+ */
631
653
  enableContextMenu?: boolean;
654
+ /**
655
+ * #### Web only
656
+ * This parameter allows to specify which `touchAction` property should be applied to underlying view.
657
+ * Supports all CSS touch-action values (e.g. `"none"`, `"pan-y"`). Default value is set to `"none"`.
658
+ */
632
659
  touchAction?: TouchAction;
633
660
  }
634
661
  interface GestureDetectorState {
@@ -637,6 +664,22 @@ interface GestureDetectorState {
637
664
  previousViewTag: number;
638
665
  forceReattach: boolean;
639
666
  }
667
+
668
+ /**
669
+ * `GestureDetector` is responsible for creating and updating native gesture handlers based on the config of provided gesture.
670
+ *
671
+ * ### Props
672
+ * - `gesture`
673
+ * - `userSelect` (**Web only**)
674
+ * - `enableContextMenu` (**Web only**)
675
+ * - `touchAction` (**Web only**)
676
+ *
677
+ * ### Remarks
678
+ * - Gesture Detector will use first native view in its subtree to recognize gestures, however if this view is used only to group its children it may get automatically collapsed.
679
+ * - Using the same instance of a gesture across multiple Gesture Detectors is not possible.
680
+ *
681
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/gesture-detector
682
+ */
640
683
  export const GestureDetector = (props: GestureDetectorProps) => {
641
684
  const rootViewContext = useContext(GestureHandlerRootViewContext);
642
685
  if (__DEV__ && !rootViewContext && !isJestEnv() && Platform.OS !== 'web') {
@@ -13,11 +13,22 @@ export class FlingGesture extends BaseGesture<FlingGestureHandlerEventPayload> {
13
13
  this.handlerName = 'FlingGestureHandler';
14
14
  }
15
15
 
16
+ /**
17
+ * Determine exact number of points required to handle the fling gesture.
18
+ * @param pointers
19
+ */
16
20
  numberOfPointers(pointers: number) {
17
21
  this.config.numberOfPointers = pointers;
18
22
  return this;
19
23
  }
20
24
 
25
+ /**
26
+ * Expressed allowed direction of movement.
27
+ * Expected values are exported as constants in the Directions object.
28
+ * Arguments can be combined using `|` operator. Default value is set to `MouseButton.LEFT`.
29
+ * @param direction
30
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/fling-gesture/#directionvalue-directions
31
+ */
21
32
  direction(direction: number) {
22
33
  this.config.direction = direction;
23
34
  return this;
@@ -40,16 +40,30 @@ export class ForceTouchGesture extends ContinousBaseGesture<
40
40
  this.handlerName = 'ForceTouchGestureHandler';
41
41
  }
42
42
 
43
+ /**
44
+ * A minimal pressure that is required before gesture can activate.
45
+ * Should be a value from range [0.0, 1.0]. Default is 0.2.
46
+ * @param force
47
+ */
43
48
  minForce(force: number) {
44
49
  this.config.minForce = force;
45
50
  return this;
46
51
  }
47
52
 
53
+ /**
54
+ * A maximal pressure that could be applied for gesture.
55
+ * If the pressure is greater, gesture fails. Should be a value from range [0.0, 1.0].
56
+ * @param force
57
+ */
48
58
  maxForce(force: number) {
49
59
  this.config.maxForce = force;
50
60
  return this;
51
61
  }
52
62
 
63
+ /**
64
+ * Value defining if haptic feedback has to be performed on activation.
65
+ * @param value
66
+ */
53
67
  feedbackOnActivation(value: boolean) {
54
68
  this.config.feedbackOnActivation = value;
55
69
  return this;
@@ -155,6 +155,10 @@ export abstract class BaseGesture<
155
155
  : [gesture];
156
156
  }
157
157
 
158
+ /**
159
+ * Sets a `ref` to the gesture object, allowing for interoperability with the old API.
160
+ * @param ref
161
+ */
158
162
  withRef(ref: React.MutableRefObject<GestureType | undefined>) {
159
163
  this.config.ref = ref;
160
164
  return this;
@@ -166,18 +170,32 @@ export abstract class BaseGesture<
166
170
  return callback.__workletHash !== undefined;
167
171
  }
168
172
 
173
+ /**
174
+ * Set the callback that is being called when given gesture handler starts receiving touches.
175
+ * At the moment of this callback the handler is in `BEGAN` state and we don't know yet if it will recognize the gesture at all.
176
+ * @param callback
177
+ */
169
178
  onBegin(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void) {
170
179
  this.handlers.onBegin = callback;
171
180
  this.handlers.isWorklet[CALLBACK_TYPE.BEGAN] = this.isWorklet(callback);
172
181
  return this;
173
182
  }
174
183
 
184
+ /**
185
+ * Set the callback that is being called when the gesture is recognized by the handler and it transitions to the `ACTIVE` state.
186
+ * @param callback
187
+ */
175
188
  onStart(callback: (event: GestureStateChangeEvent<EventPayloadT>) => void) {
176
189
  this.handlers.onStart = callback;
177
190
  this.handlers.isWorklet[CALLBACK_TYPE.START] = this.isWorklet(callback);
178
191
  return this;
179
192
  }
180
193
 
194
+ /**
195
+ * Set the callback that is being called when the gesture that was recognized by the handler finishes and handler reaches `END` state.
196
+ * It will be called only if the handler was previously in the `ACTIVE` state.
197
+ * @param callback
198
+ */
181
199
  onEnd(
182
200
  callback: (
183
201
  event: GestureStateChangeEvent<EventPayloadT>,
@@ -190,6 +208,10 @@ export abstract class BaseGesture<
190
208
  return this;
191
209
  }
192
210
 
211
+ /**
212
+ * Set the callback that is being called when the handler finalizes handling gesture - the gesture was recognized and has finished or it failed to recognize.
213
+ * @param callback
214
+ */
193
215
  onFinalize(
194
216
  callback: (
195
217
  event: GestureStateChangeEvent<EventPayloadT>,
@@ -202,6 +224,10 @@ export abstract class BaseGesture<
202
224
  return this;
203
225
  }
204
226
 
227
+ /**
228
+ * Set the `onTouchesDown` callback which is called every time a pointer is placed on the screen.
229
+ * @param callback
230
+ */
205
231
  onTouchesDown(callback: TouchEventHandlerType) {
206
232
  this.config.needsPointerData = true;
207
233
  this.handlers.onTouchesDown = callback;
@@ -211,6 +237,10 @@ export abstract class BaseGesture<
211
237
  return this;
212
238
  }
213
239
 
240
+ /**
241
+ * Set the `onTouchesMove` callback which is called every time a pointer is moved on the screen.
242
+ * @param callback
243
+ */
214
244
  onTouchesMove(callback: TouchEventHandlerType) {
215
245
  this.config.needsPointerData = true;
216
246
  this.handlers.onTouchesMove = callback;
@@ -220,6 +250,10 @@ export abstract class BaseGesture<
220
250
  return this;
221
251
  }
222
252
 
253
+ /**
254
+ * Set the `onTouchesUp` callback which is called every time a pointer is lifted from the screen.
255
+ * @param callback
256
+ */
223
257
  onTouchesUp(callback: TouchEventHandlerType) {
224
258
  this.config.needsPointerData = true;
225
259
  this.handlers.onTouchesUp = callback;
@@ -229,6 +263,10 @@ export abstract class BaseGesture<
229
263
  return this;
230
264
  }
231
265
 
266
+ /**
267
+ * Set the `onTouchesCancelled` callback which is called every time a pointer stops being tracked, for example when the gesture finishes.
268
+ * @param callback
269
+ */
232
270
  onTouchesCancelled(callback: TouchEventHandlerType) {
233
271
  this.config.needsPointerData = true;
234
272
  this.handlers.onTouchesCancelled = callback;
@@ -238,36 +276,77 @@ export abstract class BaseGesture<
238
276
  return this;
239
277
  }
240
278
 
279
+ /**
280
+ * Indicates whether the given handler should be analyzing stream of touch events or not.
281
+ * @param enabled
282
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#enabledvalue-boolean
283
+ */
241
284
  enabled(enabled: boolean) {
242
285
  this.config.enabled = enabled;
243
286
  return this;
244
287
  }
245
288
 
289
+ /**
290
+ * When true the handler will cancel or fail recognition (depending on its current state) whenever the finger leaves the area of the connected view.
291
+ * @param value
292
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#shouldcancelwhenoutsidevalue-boolean
293
+ */
246
294
  shouldCancelWhenOutside(value: boolean) {
247
295
  this.config.shouldCancelWhenOutside = value;
248
296
  return this;
249
297
  }
250
298
 
299
+ /**
300
+ * This parameter enables control over what part of the connected view area can be used to begin recognizing the gesture.
301
+ * When a negative number is provided the bounds of the view will reduce the area by the given number of points in each of the sides evenly.
302
+ * @param hitSlop
303
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#hitslopsettings
304
+ */
251
305
  hitSlop(hitSlop: HitSlop) {
252
306
  this.config.hitSlop = hitSlop;
253
307
  return this;
254
308
  }
255
309
 
310
+ /**
311
+ * #### Web only
312
+ * This parameter allows to specify which `cursor` should be used when gesture activates.
313
+ * Supports all CSS cursor values (e.g. `"grab"`, `"zoom-in"`). Default value is set to `"auto"`.
314
+ * @param activeCursor
315
+ */
256
316
  activeCursor(activeCursor: ActiveCursor) {
257
317
  this.config.activeCursor = activeCursor;
258
318
  return this;
259
319
  }
260
320
 
321
+ /**
322
+ * #### Web & Android only
323
+ * Allows users to choose which mouse button should handler respond to.
324
+ * Arguments can be combined using `|` operator, e.g. `mouseButton(MouseButton.LEFT | MouseButton.RIGHT)`.
325
+ * Default value is set to `MouseButton.LEFT`.
326
+ * @param mouseButton
327
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#mousebuttonvalue-mousebutton-web--android-only
328
+ */
261
329
  mouseButton(mouseButton: MouseButton) {
262
330
  this.config.mouseButton = mouseButton;
263
331
  return this;
264
332
  }
265
333
 
334
+ /**
335
+ * When `react-native-reanimated` is installed, the callbacks passed to the gestures are automatically workletized and run on the UI thread when called.
336
+ * This option allows for changing this behavior: when `true`, all the callbacks will be run on the JS thread instead of the UI thread, regardless of whether they are worklets or not.
337
+ * Defaults to `false`.
338
+ * @param runOnJS
339
+ */
266
340
  runOnJS(runOnJS: boolean) {
267
341
  this.config.runOnJS = runOnJS;
268
342
  return this;
269
343
  }
270
344
 
345
+ /**
346
+ * Allows gestures across different components to be recognized simultaneously.
347
+ * @param gestures
348
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#simultaneouswithexternalgesture
349
+ */
271
350
  simultaneousWithExternalGesture(...gestures: Exclude<GestureRef, number>[]) {
272
351
  for (const gesture of gestures) {
273
352
  this.addDependency('simultaneousWith', gesture);
@@ -275,6 +354,11 @@ export abstract class BaseGesture<
275
354
  return this;
276
355
  }
277
356
 
357
+ /**
358
+ * Allows to delay activation of the handler until all handlers passed as arguments to this method fail (or don't begin at all).
359
+ * @param gestures
360
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#requireexternalgesturetofail
361
+ */
278
362
  requireExternalGestureToFail(...gestures: Exclude<GestureRef, number>[]) {
279
363
  for (const gesture of gestures) {
280
364
  this.addDependency('requireToFail', gesture);
@@ -282,6 +366,11 @@ export abstract class BaseGesture<
282
366
  return this;
283
367
  }
284
368
 
369
+ /**
370
+ * Works similarily to `requireExternalGestureToFail` but the direction of the relation is reversed - instead of being one-to-many relation, it's many-to-one.
371
+ * @param gestures
372
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#blocksexternalgesture
373
+ */
285
374
  blocksExternalGesture(...gestures: Exclude<GestureRef, number>[]) {
286
375
  for (const gesture of gestures) {
287
376
  this.addDependency('blocksHandlers', gesture);
@@ -289,11 +378,21 @@ export abstract class BaseGesture<
289
378
  return this;
290
379
  }
291
380
 
381
+ /**
382
+ * Sets a `testID` property for gesture object, allowing for querying for it in tests.
383
+ * @param id
384
+ */
292
385
  withTestId(id: string) {
293
386
  this.config.testId = id;
294
387
  return this;
295
388
  }
296
389
 
390
+ /**
391
+ * #### iOS only
392
+ * When `true`, the handler will cancel touches for native UI components (`UIButton`, `UISwitch`, etc) it's attached to when it becomes `ACTIVE`.
393
+ * Default value is `true`.
394
+ * @param value
395
+ */
297
396
  cancelsTouchesInView(value: boolean) {
298
397
  this.config.cancelsTouchesInView = value;
299
398
  return this;
@@ -332,12 +431,21 @@ export abstract class ContinousBaseGesture<
332
431
  EventPayloadT extends Record<string, unknown>,
333
432
  EventChangePayloadT extends Record<string, unknown>
334
433
  > extends BaseGesture<EventPayloadT> {
434
+ /**
435
+ * Set the callback that is being called every time the gesture receives an update while it's active.
436
+ * @param callback
437
+ */
335
438
  onUpdate(callback: (event: GestureUpdateEvent<EventPayloadT>) => void) {
336
439
  this.handlers.onUpdate = callback;
337
440
  this.handlers.isWorklet[CALLBACK_TYPE.UPDATE] = this.isWorklet(callback);
338
441
  return this;
339
442
  }
340
443
 
444
+ /**
445
+ * Set the callback that is being called every time the gesture receives an update while it's active.
446
+ * This callback will receive information about change in value in relation to the last received event.
447
+ * @param callback
448
+ */
341
449
  onChange(
342
450
  callback: (
343
451
  event: GestureUpdateEvent<EventPayloadT & EventChangePayloadT>
@@ -348,6 +456,11 @@ export abstract class ContinousBaseGesture<
348
456
  return this;
349
457
  }
350
458
 
459
+ /**
460
+ * When `true` the handler will not activate by itself even if its activation criteria are met.
461
+ * Instead you can manipulate its state using state manager.
462
+ * @param manualActivation
463
+ */
351
464
  manualActivation(manualActivation: boolean) {
352
465
  this.config.manualActivation = manualActivation;
353
466
  return this;