react-native-gesture-handler 2.15.0 → 2.16.0

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 (254) hide show
  1. package/RNGestureHandler.podspec +2 -23
  2. package/android/build.gradle +1 -1
  3. package/android/noreanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt +2 -0
  4. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +9 -0
  5. package/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +3 -0
  6. package/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerPackage.kt +11 -6
  7. package/android/src/main/java/com/swmansion/gesturehandler/core/DiagonalDirections.kt +8 -0
  8. package/android/src/main/java/com/swmansion/gesturehandler/core/FlingGestureHandler.kt +65 -24
  9. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +86 -22
  10. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +54 -29
  11. package/android/src/main/java/com/swmansion/gesturehandler/core/GestureUtils.kt +3 -0
  12. package/android/src/main/java/com/swmansion/gesturehandler/core/LongPressGestureHandler.kt +5 -1
  13. package/android/src/main/java/com/swmansion/gesturehandler/core/PanGestureHandler.kt +5 -1
  14. package/android/src/main/java/com/swmansion/gesturehandler/core/TapGestureHandler.kt +7 -3
  15. package/android/src/main/java/com/swmansion/gesturehandler/core/Vector.kt +66 -0
  16. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +119 -19
  17. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +2 -2
  18. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +1 -4
  19. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +8 -5
  20. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +7 -4
  21. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +1 -1
  22. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +1 -4
  23. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +4 -7
  24. package/android/src/main/java/com/swmansion/gesturehandler/react/eventbuilders/GestureHandlerEventDataBuilder.kt +3 -0
  25. package/android/src/main/jni/cpp-adapter.cpp +18 -22
  26. package/apple/Handlers/RNFlingHandler.m +5 -4
  27. package/apple/Handlers/RNForceTouchHandler.m +3 -1
  28. package/apple/Handlers/RNHoverHandler.m +2 -1
  29. package/apple/Handlers/RNLongPressHandler.m +8 -14
  30. package/apple/Handlers/RNManualHandler.m +1 -0
  31. package/apple/Handlers/RNNativeViewHandler.mm +9 -7
  32. package/apple/Handlers/RNPanHandler.m +7 -2
  33. package/apple/Handlers/RNPinchHandler.m +50 -26
  34. package/apple/Handlers/RNRotationHandler.m +43 -29
  35. package/apple/Handlers/RNTapHandler.m +6 -4
  36. package/apple/RNGestureHandler.h +9 -0
  37. package/apple/RNGestureHandler.m +41 -4
  38. package/apple/RNGestureHandlerEvents.h +18 -9
  39. package/apple/RNGestureHandlerEvents.m +29 -11
  40. package/apple/RNGestureHandlerManager.h +5 -0
  41. package/apple/RNGestureHandlerManager.mm +32 -6
  42. package/apple/RNGestureHandlerModule.h +5 -3
  43. package/apple/RNGestureHandlerModule.mm +33 -19
  44. package/apple/RNGestureHandlerPointerType.h +8 -0
  45. package/lib/commonjs/Directions.js +19 -6
  46. package/lib/commonjs/Directions.js.map +1 -1
  47. package/lib/commonjs/PointerType.js +16 -0
  48. package/lib/commonjs/PointerType.js.map +1 -0
  49. package/lib/commonjs/RNGestureHandlerModule.web.js +7 -61
  50. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  51. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  52. package/lib/commonjs/components/GestureHandlerRootView.android.js +17 -2
  53. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  54. package/lib/commonjs/components/GestureHandlerRootView.js +15 -2
  55. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  56. package/lib/commonjs/components/GestureHandlerRootView.web.js +15 -2
  57. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  58. package/lib/commonjs/components/Swipeable.js +3 -1
  59. package/lib/commonjs/components/Swipeable.js.map +1 -1
  60. package/lib/commonjs/components/touchables/GenericTouchable.js +1 -0
  61. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  62. package/lib/commonjs/getShadowNodeFromRef.js +19 -2
  63. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  64. package/lib/commonjs/handlers/createHandler.js +5 -0
  65. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  66. package/lib/commonjs/handlers/customDirectEventTypes.js +14 -0
  67. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -0
  68. package/lib/commonjs/handlers/customDirectEventTypes.web.js +11 -0
  69. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -0
  70. package/lib/commonjs/handlers/gestureHandlerCommon.js +13 -2
  71. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  72. package/lib/commonjs/handlers/gestures/GestureDetector.js +10 -0
  73. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -1
  74. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  75. package/lib/commonjs/index.js +11 -3
  76. package/lib/commonjs/index.js.map +1 -1
  77. package/lib/commonjs/mocks.js +2 -0
  78. package/lib/commonjs/mocks.js.map +1 -1
  79. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  80. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  81. package/lib/commonjs/web/Gestures.js +66 -0
  82. package/lib/commonjs/web/Gestures.js.map +1 -0
  83. package/lib/commonjs/web/constants.js +3 -8
  84. package/lib/commonjs/web/constants.js.map +1 -1
  85. package/lib/commonjs/web/handlers/FlingGestureHandler.js +36 -12
  86. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  87. package/lib/commonjs/web/handlers/GestureHandler.js +10 -5
  88. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  89. package/lib/commonjs/web/handlers/IGestureHandler.js +2 -0
  90. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -0
  91. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +5 -6
  92. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  93. package/lib/commonjs/web/interfaces.js +1 -23
  94. package/lib/commonjs/web/interfaces.js.map +1 -1
  95. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  96. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +117 -118
  97. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  98. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +10 -5
  99. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  100. package/lib/commonjs/web/tools/InteractionManager.js +12 -3
  101. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  102. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  103. package/lib/commonjs/web/tools/PointerEventManager.js +77 -27
  104. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  105. package/lib/commonjs/web/tools/TouchEventManager.js +29 -6
  106. package/lib/commonjs/web/tools/TouchEventManager.js.map +1 -1
  107. package/lib/commonjs/web/tools/Vector.js +58 -0
  108. package/lib/commonjs/web/tools/Vector.js.map +1 -0
  109. package/lib/commonjs/web/utils.js +14 -0
  110. package/lib/commonjs/web/utils.js.map +1 -1
  111. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  112. package/lib/module/Directions.js +16 -4
  113. package/lib/module/Directions.js.map +1 -1
  114. package/lib/module/PointerType.js +9 -0
  115. package/lib/module/PointerType.js.map +1 -0
  116. package/lib/module/RNGestureHandlerModule.web.js +2 -39
  117. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  118. package/lib/module/components/DrawerLayout.js.map +1 -1
  119. package/lib/module/components/GestureHandlerRootView.android.js +15 -2
  120. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  121. package/lib/module/components/GestureHandlerRootView.js +15 -3
  122. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  123. package/lib/module/components/GestureHandlerRootView.web.js +15 -3
  124. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  125. package/lib/module/components/Swipeable.js +3 -1
  126. package/lib/module/components/Swipeable.js.map +1 -1
  127. package/lib/module/components/touchables/GenericTouchable.js +1 -0
  128. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  129. package/lib/module/getShadowNodeFromRef.js +19 -2
  130. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  131. package/lib/module/handlers/createHandler.js +5 -1
  132. package/lib/module/handlers/createHandler.js.map +1 -1
  133. package/lib/module/handlers/customDirectEventTypes.js +3 -0
  134. package/lib/module/handlers/customDirectEventTypes.js.map +1 -0
  135. package/lib/module/handlers/customDirectEventTypes.web.js +5 -0
  136. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -0
  137. package/lib/module/handlers/gestureHandlerCommon.js +11 -1
  138. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  139. package/lib/module/handlers/gestures/GestureDetector.js +10 -0
  140. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -1
  141. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  142. package/lib/module/index.js +2 -1
  143. package/lib/module/index.js.map +1 -1
  144. package/lib/module/mocks.js +2 -0
  145. package/lib/module/mocks.js.map +1 -1
  146. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  147. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  148. package/lib/module/web/Gestures.js +39 -0
  149. package/lib/module/web/Gestures.js.map +1 -0
  150. package/lib/module/web/constants.js +1 -6
  151. package/lib/module/web/constants.js.map +1 -1
  152. package/lib/module/web/handlers/FlingGestureHandler.js +34 -12
  153. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  154. package/lib/module/web/handlers/GestureHandler.js +7 -4
  155. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  156. package/lib/module/web/handlers/IGestureHandler.js +2 -0
  157. package/lib/module/web/handlers/IGestureHandler.js.map +1 -0
  158. package/lib/module/web/handlers/NativeViewGestureHandler.js +5 -6
  159. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  160. package/lib/module/web/interfaces.js +0 -20
  161. package/lib/module/web/interfaces.js.map +1 -1
  162. package/lib/module/web/tools/EventManager.js.map +1 -1
  163. package/lib/module/web/tools/GestureHandlerOrchestrator.js +116 -117
  164. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  165. package/lib/module/web/tools/GestureHandlerWebDelegate.js +9 -4
  166. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  167. package/lib/module/web/tools/InteractionManager.js +9 -3
  168. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  169. package/lib/module/web/tools/NodeManager.js.map +1 -1
  170. package/lib/module/web/tools/PointerEventManager.js +75 -27
  171. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  172. package/lib/module/web/tools/TouchEventManager.js +28 -6
  173. package/lib/module/web/tools/TouchEventManager.js.map +1 -1
  174. package/lib/module/web/tools/Vector.js +47 -0
  175. package/lib/module/web/tools/Vector.js.map +1 -0
  176. package/lib/module/web/utils.js +4 -0
  177. package/lib/module/web/utils.js.map +1 -1
  178. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  179. package/lib/typescript/Directions.d.ts +7 -0
  180. package/lib/typescript/PointerType.d.ts +6 -0
  181. package/lib/typescript/RNGestureHandlerModule.web.d.ts +4 -39
  182. package/lib/typescript/components/DrawerLayout.d.ts +1 -2
  183. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +1 -1
  184. package/lib/typescript/components/GestureHandlerRootView.d.ts +1 -1
  185. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +1 -1
  186. package/lib/typescript/components/touchables/GenericTouchable.d.ts +2 -1
  187. package/lib/typescript/getShadowNodeFromRef.d.ts +1 -1
  188. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +1 -1
  189. package/lib/typescript/handlers/customDirectEventTypes.d.ts +1 -0
  190. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +2 -0
  191. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +13 -2
  192. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +2 -1
  193. package/lib/typescript/handlers/gestures/gesture.d.ts +1 -2
  194. package/lib/typescript/index.d.ts +2 -1
  195. package/lib/typescript/mocks.d.ts +1 -0
  196. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +6 -6
  197. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +4 -1
  198. package/lib/typescript/web/Gestures.d.ts +36 -0
  199. package/lib/typescript/web/constants.d.ts +1 -6
  200. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +3 -3
  201. package/lib/typescript/web/handlers/GestureHandler.d.ts +12 -9
  202. package/lib/typescript/web/handlers/IGestureHandler.d.ts +38 -0
  203. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +1 -0
  204. package/lib/typescript/web/interfaces.d.ts +9 -16
  205. package/lib/typescript/web/tools/EventManager.d.ts +15 -12
  206. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +3 -4
  207. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +7 -5
  208. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -3
  209. package/lib/typescript/web/tools/InteractionManager.d.ts +6 -6
  210. package/lib/typescript/web/tools/NodeManager.d.ts +4 -3
  211. package/lib/typescript/web/tools/PointerEventManager.d.ts +11 -2
  212. package/lib/typescript/web/tools/TouchEventManager.d.ts +6 -1
  213. package/lib/typescript/web/tools/Vector.d.ts +15 -0
  214. package/lib/typescript/web/utils.d.ts +6 -4
  215. package/lib/typescript/web_hammer/NodeManager.d.ts +1 -1
  216. package/package.json +2 -1
  217. package/src/Directions.ts +21 -4
  218. package/src/PointerType.ts +6 -0
  219. package/src/RNGestureHandlerModule.web.ts +3 -44
  220. package/src/components/DrawerLayout.tsx +1 -1
  221. package/src/components/GestureHandlerRootView.android.tsx +13 -5
  222. package/src/components/GestureHandlerRootView.tsx +10 -5
  223. package/src/components/GestureHandlerRootView.web.tsx +10 -5
  224. package/src/components/Swipeable.tsx +2 -0
  225. package/src/components/touchables/GenericTouchable.tsx +3 -0
  226. package/src/getShadowNodeFromRef.ts +28 -6
  227. package/src/handlers/createHandler.tsx +14 -2
  228. package/src/handlers/customDirectEventTypes.ts +2 -0
  229. package/src/handlers/customDirectEventTypes.web.ts +5 -0
  230. package/src/handlers/gestureHandlerCommon.ts +30 -1
  231. package/src/handlers/gestures/GestureDetector.tsx +15 -0
  232. package/src/handlers/gestures/gesture.ts +1 -1
  233. package/src/index.ts +2 -1
  234. package/src/mocks.ts +2 -0
  235. package/src/specs/NativeRNGestureHandlerModule.ts +8 -8
  236. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +4 -0
  237. package/src/web/Gestures.ts +41 -0
  238. package/src/web/constants.ts +1 -7
  239. package/src/web/handlers/FlingGestureHandler.ts +54 -24
  240. package/src/web/handlers/GestureHandler.ts +17 -12
  241. package/src/web/handlers/IGestureHandler.ts +50 -0
  242. package/src/web/handlers/NativeViewGestureHandler.ts +5 -6
  243. package/src/web/interfaces.ts +15 -17
  244. package/src/web/tools/EventManager.ts +16 -14
  245. package/src/web/tools/GestureHandlerDelegate.ts +3 -4
  246. package/src/web/tools/GestureHandlerOrchestrator.ts +162 -147
  247. package/src/web/tools/GestureHandlerWebDelegate.ts +14 -9
  248. package/src/web/tools/InteractionManager.ts +18 -12
  249. package/src/web/tools/NodeManager.ts +4 -3
  250. package/src/web/tools/PointerEventManager.ts +189 -154
  251. package/src/web/tools/TouchEventManager.ts +128 -120
  252. package/src/web/tools/Vector.ts +60 -0
  253. package/src/web/utils.ts +16 -4
  254. package/src/web_hammer/NodeManager.ts +1 -1
@@ -1 +1 @@
1
- export declare function getShadowNodeFromRef(ref: any): any;
1
+ export declare function getShadowNodeFromRef(ref: unknown): unknown;
@@ -22,7 +22,7 @@ export type NativeViewGestureHandlerPayload = {
22
22
  */
23
23
  pointerInside: boolean;
24
24
  };
25
- export declare const nativeViewProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "activeCursor", "mouseButton", "enableContextMenu", "waitFor", "simultaneousHandlers", "blocksHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange", "shouldActivateOnStart", "disallowInterruption"];
25
+ export declare const nativeViewProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "activeCursor", "mouseButton", "enableContextMenu", "touchAction", "waitFor", "simultaneousHandlers", "blocksHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange", "shouldActivateOnStart", "disallowInterruption"];
26
26
  export declare const nativeViewHandlerName = "NativeViewGestureHandler";
27
27
  export type NativeViewGestureHandler = typeof NativeViewGestureHandler;
28
28
  export declare const NativeViewGestureHandler: import("react").ComponentType<NativeViewGestureHandlerProps & import("react").RefAttributes<any>>;
@@ -0,0 +1 @@
1
+ export { customDirectEventTypes } from 'react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
@@ -0,0 +1,2 @@
1
+ declare const customDirectEventTypes: {};
2
+ export { customDirectEventTypes };
@@ -2,13 +2,14 @@ import * as React from 'react';
2
2
  import { State } from '../State';
3
3
  import { TouchEventType } from '../TouchEventType';
4
4
  import { ValueOf } from '../typeUtils';
5
- import { MouseButton } from '../web/interfaces';
6
- export declare const baseGestureHandlerProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "activeCursor", "mouseButton", "enableContextMenu", "waitFor", "simultaneousHandlers", "blocksHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
5
+ import { PointerType } from '../PointerType';
6
+ export declare const baseGestureHandlerProps: readonly ["id", "enabled", "shouldCancelWhenOutside", "hitSlop", "cancelsTouchesInView", "userSelect", "activeCursor", "mouseButton", "enableContextMenu", "touchAction", "waitFor", "simultaneousHandlers", "blocksHandlers", "onBegan", "onFailed", "onCancelled", "onActivated", "onEnded", "onGestureEvent", "onHandlerStateChange"];
7
7
  export declare const baseGestureHandlerWithMonitorProps: string[];
8
8
  export interface GestureEventPayload {
9
9
  handlerTag: number;
10
10
  numberOfPointers: number;
11
11
  state: ValueOf<typeof State>;
12
+ pointerType: PointerType;
12
13
  }
13
14
  export interface HandlerStateChangeEventPayload extends GestureEventPayload {
14
15
  oldState: ValueOf<typeof State>;
@@ -16,6 +17,15 @@ export interface HandlerStateChangeEventPayload extends GestureEventPayload {
16
17
  export type HitSlop = number | Partial<Record<'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal', number>> | Record<'width' | 'left', number> | Record<'width' | 'right', number> | Record<'height' | 'top', number> | Record<'height' | 'bottom', number>;
17
18
  export type UserSelect = 'none' | 'auto' | 'text';
18
19
  export type ActiveCursor = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'grab' | 'grabbing' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out';
20
+ export declare enum MouseButton {
21
+ LEFT = 1,
22
+ RIGHT = 2,
23
+ MIDDLE = 4,
24
+ BUTTON_4 = 8,
25
+ BUTTON_5 = 16,
26
+ ALL = 31
27
+ }
28
+ export type TouchAction = 'auto' | 'none' | 'pan-x' | 'pan-left' | 'pan-right' | 'pan-y' | 'pan-up' | 'pan-down' | 'pinch-zoom' | 'manipulation' | 'inherit' | 'initial' | 'revert' | 'revert-layer' | 'unset';
19
29
  export interface GestureEvent<ExtraEventPayloadT = Record<string, unknown>> {
20
30
  nativeEvent: Readonly<GestureEventPayload & ExtraEventPayloadT>;
21
31
  }
@@ -47,6 +57,7 @@ export type CommonGestureConfig = {
47
57
  activeCursor?: ActiveCursor;
48
58
  mouseButton?: MouseButton;
49
59
  enableContextMenu?: boolean;
60
+ touchAction?: TouchAction;
50
61
  };
51
62
  export type BaseGestureHandlerProps<ExtraEventPayloadT extends Record<string, unknown> = Record<string, unknown>> = CommonGestureConfig & {
52
63
  id?: string;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { GestureType, HandlerCallbacks } from './gesture';
3
3
  import { SharedValue } from './reanimatedWrapper';
4
- import { UserSelect } from '../gestureHandlerCommon';
4
+ import { UserSelect, TouchAction } from '../gestureHandlerCommon';
5
5
  import { ComposedGesture } from './gestureComposition';
6
6
  export type GestureConfigReference = {
7
7
  config: GestureType[];
@@ -15,6 +15,7 @@ interface GestureDetectorProps {
15
15
  children?: React.ReactNode;
16
16
  userSelect?: UserSelect;
17
17
  enableContextMenu?: boolean;
18
+ touchAction?: TouchAction;
18
19
  }
19
20
  export declare const GestureDetector: (props: GestureDetectorProps) => React.JSX.Element;
20
21
  export {};
@@ -1,6 +1,6 @@
1
1
  import { FlingGestureHandlerEventPayload } from '../FlingGestureHandler';
2
2
  import { ForceTouchGestureHandlerEventPayload } from '../ForceTouchGestureHandler';
3
- import { HitSlop, CommonGestureConfig, GestureTouchEvent, GestureStateChangeEvent, GestureUpdateEvent, ActiveCursor } from '../gestureHandlerCommon';
3
+ import { HitSlop, CommonGestureConfig, GestureTouchEvent, GestureStateChangeEvent, GestureUpdateEvent, ActiveCursor, MouseButton } from '../gestureHandlerCommon';
4
4
  import { GestureStateManagerType } from './gestureStateManager';
5
5
  import { LongPressGestureHandlerEventPayload } from '../LongPressGestureHandler';
6
6
  import { PanGestureHandlerEventPayload } from '../PanGestureHandler';
@@ -8,7 +8,6 @@ import { PinchGestureHandlerEventPayload } from '../PinchGestureHandler';
8
8
  import { RotationGestureHandlerEventPayload } from '../RotationGestureHandler';
9
9
  import { TapGestureHandlerEventPayload } from '../TapGestureHandler';
10
10
  import { NativeViewGestureHandlerPayload } from '../NativeViewGestureHandler';
11
- import { MouseButton } from '../../web/interfaces';
12
11
  export type GestureType = BaseGesture<Record<string, unknown>> | BaseGesture<Record<string, never>> | BaseGesture<TapGestureHandlerEventPayload> | BaseGesture<PanGestureHandlerEventPayload> | BaseGesture<LongPressGestureHandlerEventPayload> | BaseGesture<RotationGestureHandlerEventPayload> | BaseGesture<PinchGestureHandlerEventPayload> | BaseGesture<FlingGestureHandlerEventPayload> | BaseGesture<ForceTouchGestureHandlerEventPayload> | BaseGesture<NativeViewGestureHandlerPayload>;
13
12
  export type GestureRef = number | GestureType | React.RefObject<GestureType | undefined> | React.RefObject<React.ComponentType | undefined>;
14
13
  export interface BaseGestureConfig extends CommonGestureConfig, Record<string, unknown> {
@@ -1,9 +1,10 @@
1
1
  export { Directions } from './Directions';
2
2
  export { State } from './State';
3
- export { MouseButton } from './web/interfaces';
3
+ export { PointerType } from './PointerType';
4
4
  export { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';
5
5
  export { default as GestureHandlerRootView } from './components/GestureHandlerRootView';
6
6
  export type { GestureEvent, HandlerStateChangeEvent, GestureEventPayload, HandlerStateChangeEventPayload, GestureTouchEvent, TouchData, GestureUpdateEvent, GestureStateChangeEvent, } from './handlers/gestureHandlerCommon';
7
+ export { MouseButton } from './handlers/gestureHandlerCommon';
7
8
  export type { GestureType } from './handlers/gestures/gesture';
8
9
  export type { TapGestureHandlerEventPayload, TapGestureHandlerProps, } from './handlers/TapGestureHandler';
9
10
  export type { ForceTouchGestureHandlerEventPayload, ForceTouchGestureHandlerProps, } from './handlers/ForceTouchGestureHandler';
@@ -26,6 +26,7 @@ declare const _default: {
26
26
  readonly dropGestureHandler: () => void;
27
27
  readonly updateGestureHandler: () => void;
28
28
  readonly flushOperations: () => void;
29
+ readonly install: () => void;
29
30
  readonly Directions: {
30
31
  readonly RIGHT: 1;
31
32
  readonly LEFT: 2;
@@ -1,12 +1,12 @@
1
1
  import { TurboModule } from 'react-native';
2
- import { Int32 } from 'react-native/Libraries/Types/CodegenTypes';
2
+ import { Double } from 'react-native/Libraries/Types/CodegenTypes';
3
3
  export interface Spec extends TurboModule {
4
- handleSetJSResponder: (tag: Int32, blockNativeResponder: boolean) => void;
4
+ handleSetJSResponder: (tag: Double, blockNativeResponder: boolean) => void;
5
5
  handleClearJSResponder: () => void;
6
- createGestureHandler: (handlerName: string, handlerTag: Int32, config: Object) => void;
7
- attachGestureHandler: (handlerTag: Int32, newView: Int32, actionType: Int32) => void;
8
- updateGestureHandler: (handlerTag: Int32, newConfig: Object) => void;
9
- dropGestureHandler: (handlerTag: Int32) => void;
6
+ createGestureHandler: (handlerName: string, handlerTag: Double, config: Object) => void;
7
+ attachGestureHandler: (handlerTag: Double, newView: Double, actionType: Double) => void;
8
+ updateGestureHandler: (handlerTag: Double, newConfig: Object) => void;
9
+ dropGestureHandler: (handlerTag: Double) => void;
10
10
  install: () => boolean;
11
11
  flushOperations: () => void;
12
12
  }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react-native/types/modules/codegen" />
2
- import type { Int32, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
2
+ import type { Int32, WithDefault, Float } from 'react-native/Libraries/Types/CodegenTypes';
3
3
  import type { ViewProps, ColorValue } from 'react-native';
4
4
  interface NativeProps extends ViewProps {
5
5
  exclusive?: WithDefault<boolean, true>;
@@ -9,6 +9,9 @@ interface NativeProps extends ViewProps {
9
9
  rippleColor?: ColorValue;
10
10
  rippleRadius?: Int32;
11
11
  touchSoundDisabled?: WithDefault<boolean, false>;
12
+ borderWidth?: Float;
13
+ borderColor?: ColorValue;
14
+ borderStyle?: WithDefault<string, 'solid'>;
12
15
  }
13
16
  declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
14
17
  export default _default;
@@ -0,0 +1,36 @@
1
+ import PanGestureHandler from './handlers/PanGestureHandler';
2
+ import TapGestureHandler from './handlers/TapGestureHandler';
3
+ import LongPressGestureHandler from './handlers/LongPressGestureHandler';
4
+ import PinchGestureHandler from './handlers/PinchGestureHandler';
5
+ import RotationGestureHandler from './handlers/RotationGestureHandler';
6
+ import FlingGestureHandler from './handlers/FlingGestureHandler';
7
+ import NativeViewGestureHandler from './handlers/NativeViewGestureHandler';
8
+ import ManualGestureHandler from './handlers/ManualGestureHandler';
9
+ import HoverGestureHandler from './handlers/HoverGestureHandler';
10
+ import HammerNativeViewGestureHandler from '../web_hammer/NativeViewGestureHandler';
11
+ import HammerPanGestureHandler from '../web_hammer/PanGestureHandler';
12
+ import HammerTapGestureHandler from '../web_hammer/TapGestureHandler';
13
+ import HammerLongPressGestureHandler from '../web_hammer/LongPressGestureHandler';
14
+ import HammerPinchGestureHandler from '../web_hammer/PinchGestureHandler';
15
+ import HammerRotationGestureHandler from '../web_hammer/RotationGestureHandler';
16
+ import HammerFlingGestureHandler from '../web_hammer/FlingGestureHandler';
17
+ export declare const Gestures: {
18
+ NativeViewGestureHandler: typeof NativeViewGestureHandler;
19
+ PanGestureHandler: typeof PanGestureHandler;
20
+ TapGestureHandler: typeof TapGestureHandler;
21
+ LongPressGestureHandler: typeof LongPressGestureHandler;
22
+ PinchGestureHandler: typeof PinchGestureHandler;
23
+ RotationGestureHandler: typeof RotationGestureHandler;
24
+ FlingGestureHandler: typeof FlingGestureHandler;
25
+ ManualGestureHandler: typeof ManualGestureHandler;
26
+ HoverGestureHandler: typeof HoverGestureHandler;
27
+ };
28
+ export declare const HammerGestures: {
29
+ NativeViewGestureHandler: typeof HammerNativeViewGestureHandler;
30
+ PanGestureHandler: typeof HammerPanGestureHandler;
31
+ TapGestureHandler: typeof HammerTapGestureHandler;
32
+ LongPressGestureHandler: typeof HammerLongPressGestureHandler;
33
+ PinchGestureHandler: typeof HammerPinchGestureHandler;
34
+ RotationGestureHandler: typeof HammerRotationGestureHandler;
35
+ FlingGestureHandler: typeof HammerFlingGestureHandler;
36
+ };
@@ -1,7 +1,2 @@
1
1
  export declare const DEFAULT_TOUCH_SLOP = 15;
2
- export declare const Direction: {
3
- RIGHT: number;
4
- LEFT: number;
5
- UP: number;
6
- DOWN: number;
7
- };
2
+ export declare const MINIMAL_FLING_VELOCITY = 0.1;
@@ -4,10 +4,8 @@ export default class FlingGestureHandler extends GestureHandler {
4
4
  private numberOfPointersRequired;
5
5
  private direction;
6
6
  private maxDurationMs;
7
- private minAcceptableDelta;
7
+ private minVelocity;
8
8
  private delayTimeout;
9
- private startX;
10
- private startY;
11
9
  private maxNumberOfPointersSimultaneously;
12
10
  private keyPointer;
13
11
  init(ref: number, propsRef: React.RefObject<unknown>): void;
@@ -18,7 +16,9 @@ export default class FlingGestureHandler extends GestureHandler {
18
16
  protected onPointerDown(event: AdaptedEvent): void;
19
17
  protected onPointerAdd(event: AdaptedEvent): void;
20
18
  private newPointerAction;
19
+ private pointerMoveAction;
21
20
  protected onPointerMove(event: AdaptedEvent): void;
21
+ protected onPointerOutOfBounds(event: AdaptedEvent): void;
22
22
  protected onPointerUp(event: AdaptedEvent): void;
23
23
  protected onPointerRemove(event: AdaptedEvent): void;
24
24
  private onUp;
@@ -1,9 +1,12 @@
1
1
  import { State } from '../../State';
2
- import { Config, AdaptedEvent, PointerType, MouseButton } from '../interfaces';
2
+ import { Config, AdaptedEvent } from '../interfaces';
3
3
  import EventManager from '../tools/EventManager';
4
4
  import PointerTracker from '../tools/PointerTracker';
5
5
  import { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';
6
- export default abstract class GestureHandler {
6
+ import IGestureHandler from './IGestureHandler';
7
+ import { MouseButton } from '../../handlers/gestureHandlerCommon';
8
+ import { PointerType } from '../../PointerType';
9
+ export default abstract class GestureHandler implements IGestureHandler {
7
10
  private lastSentState;
8
11
  protected currentState: State;
9
12
  protected shouldCancellWhenOutside: boolean;
@@ -19,8 +22,8 @@ export default abstract class GestureHandler {
19
22
  protected active: boolean;
20
23
  protected shouldResetProgress: boolean;
21
24
  protected pointerType: PointerType;
22
- protected delegate: GestureHandlerDelegate<unknown>;
23
- constructor(delegate: GestureHandlerDelegate<unknown>);
25
+ protected delegate: GestureHandlerDelegate<unknown, IGestureHandler>;
26
+ constructor(delegate: GestureHandlerDelegate<unknown, IGestureHandler>);
24
27
  protected init(viewRef: number, propsRef: React.RefObject<unknown>): void;
25
28
  attachEventManager(manager: EventManager<unknown>): void;
26
29
  protected onCancel(): void;
@@ -48,10 +51,10 @@ export default abstract class GestureHandler {
48
51
  setShouldResetProgress(value: boolean): void;
49
52
  getActivationIndex(): number;
50
53
  setActivationIndex(value: number): void;
51
- shouldWaitForHandlerFailure(handler: GestureHandler): boolean;
52
- shouldRequireToWaitForFailure(handler: GestureHandler): boolean;
53
- shouldRecognizeSimultaneously(handler: GestureHandler): boolean;
54
- shouldBeCancelledByOther(handler: GestureHandler): boolean;
54
+ shouldWaitForHandlerFailure(handler: IGestureHandler): boolean;
55
+ shouldRequireToWaitForFailure(handler: IGestureHandler): boolean;
56
+ shouldRecognizeSimultaneously(handler: IGestureHandler): boolean;
57
+ shouldBeCancelledByOther(handler: IGestureHandler): boolean;
55
58
  protected onPointerDown(event: AdaptedEvent): void;
56
59
  protected onPointerAdd(event: AdaptedEvent): void;
57
60
  protected onPointerUp(event: AdaptedEvent): void;
@@ -80,7 +83,7 @@ export default abstract class GestureHandler {
80
83
  getTag(): number;
81
84
  setTag(tag: number): void;
82
85
  getConfig(): Config;
83
- getDelegate(): GestureHandlerDelegate<unknown>;
86
+ getDelegate(): GestureHandlerDelegate<unknown, IGestureHandler>;
84
87
  getTracker(): PointerTracker;
85
88
  getTrackedPointersID(): number[];
86
89
  getState(): State;
@@ -0,0 +1,38 @@
1
+ import type { PointerType } from '../../PointerType';
2
+ import type { MouseButton } from '../../handlers/gestureHandlerCommon';
3
+ import type { State } from '../../State';
4
+ import type { Config } from '../interfaces';
5
+ import type EventManager from '../tools/EventManager';
6
+ import type { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';
7
+ import type PointerTracker from '../tools/PointerTracker';
8
+ export default interface IGestureHandler {
9
+ getTag: () => number;
10
+ getState: () => State;
11
+ getConfig: () => Config;
12
+ getDelegate: () => GestureHandlerDelegate<unknown, this>;
13
+ attachEventManager: (manager: EventManager<unknown>) => void;
14
+ isButtonInConfig: (mouseButton: MouseButton | undefined) => boolean | number | undefined;
15
+ getPointerType: () => PointerType;
16
+ getTracker: () => PointerTracker;
17
+ getTrackedPointersID: () => number[];
18
+ begin: () => void;
19
+ activate: () => void;
20
+ end: () => void;
21
+ fail: () => void;
22
+ cancel: () => void;
23
+ reset: () => void;
24
+ isEnabled: () => boolean;
25
+ isActive: () => boolean;
26
+ setActive: (value: boolean) => void;
27
+ isAwaiting: () => boolean;
28
+ setAwaiting: (value: boolean) => void;
29
+ setActivationIndex: (value: number) => void;
30
+ setShouldResetProgress: (value: boolean) => void;
31
+ shouldWaitForHandlerFailure: (handler: IGestureHandler) => boolean;
32
+ shouldRequireToWaitForFailure: (handler: IGestureHandler) => boolean;
33
+ shouldRecognizeSimultaneously: (handler: IGestureHandler) => boolean;
34
+ shouldBeCancelledByOther: (handler: IGestureHandler) => boolean;
35
+ sendEvent: (newState: State, oldState: State) => void;
36
+ updateGestureConfig: (config: Config) => void;
37
+ isButton?: () => boolean;
38
+ }
@@ -21,4 +21,5 @@ export default class NativeViewGestureHandler extends GestureHandler {
21
21
  shouldRecognizeSimultaneously(handler: GestureHandler): boolean;
22
22
  shouldBeCancelledByOther(_handler: GestureHandler): boolean;
23
23
  disallowsInterruption(): boolean;
24
+ isButton(): boolean;
24
25
  }
@@ -1,6 +1,7 @@
1
- import { UserSelect, ActiveCursor } from '../handlers/gestureHandlerCommon';
1
+ import { UserSelect, ActiveCursor, MouseButton, TouchAction } from '../handlers/gestureHandlerCommon';
2
2
  import { Directions } from '../Directions';
3
3
  import { State } from '../State';
4
+ import { PointerType } from '../PointerType';
4
5
  export interface HitSlop {
5
6
  left?: number;
6
7
  right?: number;
@@ -14,7 +15,7 @@ export interface HitSlop {
14
15
  export interface Handler {
15
16
  handlerTag: number;
16
17
  }
17
- type ConfigArgs = number | boolean | HitSlop | UserSelect | ActiveCursor | Directions | Handler[] | null | undefined;
18
+ type ConfigArgs = number | boolean | HitSlop | UserSelect | TouchAction | ActiveCursor | Directions | Handler[] | null | undefined;
18
19
  export interface Config extends Record<string, ConfigArgs> {
19
20
  enabled?: boolean;
20
21
  simultaneousHandlers?: Handler[] | null;
@@ -26,6 +27,7 @@ export interface Config extends Record<string, ConfigArgs> {
26
27
  activeCursor?: ActiveCursor;
27
28
  mouseButton?: MouseButton;
28
29
  enableContextMenu?: boolean;
30
+ touchAction?: TouchAction;
29
31
  activateAfterLongPress?: number;
30
32
  failOffsetXStart?: number;
31
33
  failOffsetYStart?: number;
@@ -64,6 +66,11 @@ interface NativeEvent extends Record<string, NativeEventArgs> {
64
66
  handlerTag: number;
65
67
  target: number;
66
68
  oldState?: State;
69
+ pointerType: PointerType;
70
+ }
71
+ export interface Point {
72
+ x: number;
73
+ y: number;
67
74
  }
68
75
  export interface PointerData {
69
76
  id: number;
@@ -107,14 +114,6 @@ export interface AdaptedEvent {
107
114
  changedTouches?: TouchList;
108
115
  touchEventType?: TouchEventType;
109
116
  }
110
- export declare enum MouseButton {
111
- LEFT = 1,
112
- MIDDLE = 2,
113
- RIGHT = 4,
114
- BUTTON_4 = 8,
115
- BUTTON_5 = 16,
116
- ALL = 31
117
- }
118
117
  export declare enum EventTypes {
119
118
  DOWN = 0,
120
119
  ADDITIONAL_POINTER_DOWN = 1,
@@ -132,10 +131,4 @@ export declare enum TouchEventType {
132
131
  UP = 3,
133
132
  CANCELLED = 4
134
133
  }
135
- export declare enum PointerType {
136
- NONE = "none",
137
- MOUSE = "mouse",
138
- TOUCH = "touch",
139
- PEN = "pen"
140
- }
141
134
  export {};
@@ -1,10 +1,12 @@
1
1
  import { AdaptedEvent, EventTypes, TouchEventType } from '../interfaces';
2
+ type PointerEventCallback = (event: AdaptedEvent) => void;
2
3
  export default abstract class EventManager<T> {
3
4
  protected readonly view: T;
4
5
  protected pointersInBounds: number[];
5
6
  protected activePointersCounter: number;
6
7
  constructor(view: T);
7
- abstract setListeners(): void;
8
+ abstract registerListeners(): void;
9
+ abstract unregisterListeners(): void;
8
10
  protected abstract mapEvent(event: Event, eventType: EventTypes, index?: number, touchEventType?: TouchEventType): AdaptedEvent;
9
11
  protected onPointerDown(_event: AdaptedEvent): void;
10
12
  protected onPointerAdd(_event: AdaptedEvent): void;
@@ -17,18 +19,19 @@ export default abstract class EventManager<T> {
17
19
  protected onPointerOutOfBounds(_event: AdaptedEvent): void;
18
20
  protected onPointerMoveOver(_event: AdaptedEvent): void;
19
21
  protected onPointerMoveOut(_event: AdaptedEvent): void;
20
- setOnPointerDown(callback: (event: AdaptedEvent) => void): void;
21
- setOnPointerAdd(callback: (event: AdaptedEvent) => void): void;
22
- setOnPointerUp(callback: (event: AdaptedEvent) => void): void;
23
- setOnPointerRemove(callback: (event: AdaptedEvent) => void): void;
24
- setOnPointerMove(callback: (event: AdaptedEvent) => void): void;
25
- setOnPointerLeave(callback: (event: AdaptedEvent) => void): void;
26
- setOnPointerEnter(callback: (event: AdaptedEvent) => void): void;
27
- setOnPointerCancel(callback: (event: AdaptedEvent) => void): void;
28
- setOnPointerOutOfBounds(callback: (event: AdaptedEvent) => void): void;
29
- setOnPointerMoveOver(callback: (event: AdaptedEvent) => void): void;
30
- setOnPointerMoveOut(callback: (event: AdaptedEvent) => void): void;
22
+ setOnPointerDown(callback: PointerEventCallback): void;
23
+ setOnPointerAdd(callback: PointerEventCallback): void;
24
+ setOnPointerUp(callback: PointerEventCallback): void;
25
+ setOnPointerRemove(callback: PointerEventCallback): void;
26
+ setOnPointerMove(callback: PointerEventCallback): void;
27
+ setOnPointerLeave(callback: PointerEventCallback): void;
28
+ setOnPointerEnter(callback: PointerEventCallback): void;
29
+ setOnPointerCancel(callback: PointerEventCallback): void;
30
+ setOnPointerOutOfBounds(callback: PointerEventCallback): void;
31
+ setOnPointerMoveOver(callback: PointerEventCallback): void;
32
+ setOnPointerMoveOut(callback: PointerEventCallback): void;
31
33
  protected markAsInBounds(pointerId: number): void;
32
34
  protected markAsOutOfBounds(pointerId: number): void;
33
35
  resetManager(): void;
34
36
  }
37
+ export {};
@@ -1,4 +1,3 @@
1
- import type GestureHandler from '../handlers/GestureHandler';
2
1
  import { Config } from '../interfaces';
3
2
  export interface MeasureResult {
4
3
  pageX: number;
@@ -6,9 +5,9 @@ export interface MeasureResult {
6
5
  width: number;
7
6
  height: number;
8
7
  }
9
- export interface GestureHandlerDelegate<T> {
10
- getView(): T;
11
- init(viewRef: number, handler: GestureHandler): void;
8
+ export interface GestureHandlerDelegate<TComponent, THandler> {
9
+ getView(): TComponent;
10
+ init(viewRef: number, handler: THandler): void;
12
11
  isPointerInBounds({ x, y }: {
13
12
  x: number;
14
13
  y: number;
@@ -1,29 +1,31 @@
1
1
  import { State } from '../../State';
2
- import GestureHandler from '../handlers/GestureHandler';
2
+ import type IGestureHandler from '../handlers/IGestureHandler';
3
3
  export default class GestureHandlerOrchestrator {
4
4
  private static instance;
5
5
  private gestureHandlers;
6
6
  private awaitingHandlers;
7
+ private awaitingHandlersTags;
7
8
  private handlingChangeSemaphore;
8
9
  private activationIndex;
9
10
  private constructor();
10
11
  private scheduleFinishedHandlersCleanup;
11
12
  private cleanHandler;
12
- removeHandlerFromOrchestrator(handler: GestureHandler): void;
13
+ removeHandlerFromOrchestrator(handler: IGestureHandler): void;
13
14
  private cleanupFinishedHandlers;
14
15
  private hasOtherHandlerToWaitFor;
16
+ private shouldBeCancelledByFinishedHandler;
15
17
  private tryActivate;
16
18
  private shouldActivate;
17
19
  private cleanupAwaitingHandlers;
18
- onHandlerStateChange(handler: GestureHandler, newState: State, oldState: State, sendIfDisabled?: boolean): void;
20
+ onHandlerStateChange(handler: IGestureHandler, newState: State, oldState: State, sendIfDisabled?: boolean): void;
19
21
  private makeActive;
20
22
  private addAwaitingHandler;
21
- recordHandlerIfNotPresent(handler: GestureHandler): void;
23
+ recordHandlerIfNotPresent(handler: IGestureHandler): void;
22
24
  private shouldHandlerWaitForOther;
23
25
  private canRunSimultaneously;
24
26
  private shouldHandlerBeCancelledBy;
25
27
  private checkOverlap;
26
28
  private isFinished;
27
- cancelMouseAndPenGestures(currentHandler: GestureHandler): void;
29
+ cancelMouseAndPenGestures(currentHandler: IGestureHandler): void;
28
30
  static getInstance(): GestureHandlerOrchestrator;
29
31
  }
@@ -1,12 +1,12 @@
1
- import type GestureHandler from '../handlers/GestureHandler';
1
+ import type IGestureHandler from '../handlers/IGestureHandler';
2
2
  import { GestureHandlerDelegate, MeasureResult } from './GestureHandlerDelegate';
3
3
  import { Config } from '../interfaces';
4
- export declare class GestureHandlerWebDelegate implements GestureHandlerDelegate<HTMLElement> {
4
+ export declare class GestureHandlerWebDelegate implements GestureHandlerDelegate<HTMLElement, IGestureHandler> {
5
5
  private view;
6
6
  private gestureHandler;
7
7
  private eventManagers;
8
8
  getView(): HTMLElement;
9
- init(viewRef: number, handler: GestureHandler): void;
9
+ init(viewRef: number, handler: IGestureHandler): void;
10
10
  isPointerInBounds({ x, y }: {
11
11
  x: number;
12
12
  y: number;
@@ -1,4 +1,4 @@
1
- import GestureHandler from '../handlers/GestureHandler';
1
+ import type IGestureHandler from '../handlers/IGestureHandler';
2
2
  import { Config } from '../interfaces';
3
3
  export default class InteractionManager {
4
4
  private static instance;
@@ -6,11 +6,11 @@ export default class InteractionManager {
6
6
  private readonly simultaneousRelations;
7
7
  private readonly blocksHandlersRelations;
8
8
  private constructor();
9
- configureInteractions(handler: GestureHandler, config: Config): void;
10
- shouldWaitForHandlerFailure(handler: GestureHandler, otherHandler: GestureHandler): boolean;
11
- shouldRecognizeSimultaneously(handler: GestureHandler, otherHandler: GestureHandler): boolean;
12
- shouldRequireHandlerToWaitForFailure(handler: GestureHandler, otherHandler: GestureHandler): boolean;
13
- shouldHandlerBeCancelledBy(_handler: GestureHandler, _otherHandler: GestureHandler): boolean;
9
+ configureInteractions(handler: IGestureHandler, config: Config): void;
10
+ shouldWaitForHandlerFailure(handler: IGestureHandler, otherHandler: IGestureHandler): boolean;
11
+ shouldRecognizeSimultaneously(handler: IGestureHandler, otherHandler: IGestureHandler): boolean;
12
+ shouldRequireHandlerToWaitForFailure(handler: IGestureHandler, otherHandler: IGestureHandler): boolean;
13
+ shouldHandlerBeCancelledBy(_handler: IGestureHandler, otherHandler: IGestureHandler): boolean;
14
14
  dropRelationsForHandlerWithTag(handlerTag: number): void;
15
15
  reset(): void;
16
16
  static getInstance(): InteractionManager;
@@ -1,11 +1,12 @@
1
1
  import { ValueOf } from '../../typeUtils';
2
- import { Gestures } from '../../RNGestureHandlerModule.web';
2
+ import { Gestures } from '../Gestures';
3
+ import type IGestureHandler from '../handlers/IGestureHandler';
3
4
  export default abstract class NodeManager {
4
5
  private static gestures;
5
- static getHandler(tag: number): import("../handlers/NativeViewGestureHandler").default | import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/ManualGestureHandler").default | import("../handlers/HoverGestureHandler").default;
6
+ static getHandler(tag: number): IGestureHandler;
6
7
  static createGestureHandler(handlerTag: number, handler: InstanceType<ValueOf<typeof Gestures>>): void;
7
8
  static dropGestureHandler(handlerTag: number): void;
8
9
  static getNodes(): {
9
- [x: number]: import("../handlers/NativeViewGestureHandler").default | import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/ManualGestureHandler").default | import("../handlers/HoverGestureHandler").default;
10
+ [x: number]: import("../handlers/PanGestureHandler").default | import("../handlers/TapGestureHandler").default | import("../handlers/LongPressGestureHandler").default | import("../handlers/PinchGestureHandler").default | import("../handlers/RotationGestureHandler").default | import("../handlers/FlingGestureHandler").default | import("../handlers/NativeViewGestureHandler").default | import("../handlers/ManualGestureHandler").default | import("../handlers/HoverGestureHandler").default;
10
11
  };
11
12
  }
@@ -1,10 +1,19 @@
1
- import { AdaptedEvent, EventTypes } from '../interfaces';
2
1
  import EventManager from './EventManager';
2
+ import { AdaptedEvent, EventTypes } from '../interfaces';
3
3
  export default class PointerEventManager extends EventManager<HTMLElement> {
4
4
  private trackedPointers;
5
5
  private readonly mouseButtonsMapper;
6
+ private lastPosition;
6
7
  constructor(view: HTMLElement);
7
- setListeners(): void;
8
+ private pointerDownCallback;
9
+ private pointerUpCallback;
10
+ private pointerMoveCallback;
11
+ private pointerCancelCallback;
12
+ private pointerEnterCallback;
13
+ private pointerLeaveCallback;
14
+ private lostPointerCaptureCallback;
15
+ registerListeners(): void;
16
+ unregisterListeners(): void;
8
17
  protected mapEvent(event: PointerEvent, eventType: EventTypes): AdaptedEvent;
9
18
  resetManager(): void;
10
19
  }
@@ -1,6 +1,11 @@
1
1
  import { AdaptedEvent, EventTypes, TouchEventType } from '../interfaces';
2
2
  import EventManager from './EventManager';
3
3
  export default class TouchEventManager extends EventManager<HTMLElement> {
4
- setListeners(): void;
4
+ private touchStartCallback;
5
+ private touchMoveCallback;
6
+ private touchEndCallback;
7
+ private touchCancelCallback;
8
+ registerListeners(): void;
9
+ unregisterListeners(): void;
5
10
  protected mapEvent(event: TouchEvent, eventType: EventTypes, index: number, touchEventType: TouchEventType): AdaptedEvent;
6
11
  }
@@ -0,0 +1,15 @@
1
+ import { DiagonalDirections, Directions } from '../../Directions';
2
+ import PointerTracker from './PointerTracker';
3
+ export default class Vector {
4
+ private readonly x;
5
+ private readonly y;
6
+ private readonly unitX;
7
+ private readonly unitY;
8
+ private readonly _magnitude;
9
+ constructor(x: number, y: number);
10
+ static fromDirection(direction: Directions | DiagonalDirections): Vector;
11
+ static fromVelocity(tracker: PointerTracker, pointerId: number): Vector;
12
+ get magnitude(): number;
13
+ computeSimilarity(vector: Vector): number;
14
+ isSimilar(vector: Vector, threshold: number): boolean;
15
+ }
@@ -1,4 +1,6 @@
1
- export declare function isPointerInBounds(view: HTMLElement, { x, y }: {
2
- x: number;
3
- y: number;
4
- }): boolean;
1
+ import { PointerType } from '../PointerType';
2
+ import { Point } from './interfaces';
3
+ export declare function isPointerInBounds(view: HTMLElement, { x, y }: Point): boolean;
4
+ export declare const PointerTypeMapping: Map<string, PointerType>;
5
+ export declare const degToRad: (degrees: number) => number;
6
+ export declare const coneToDeviation: (degrees: number) => number;
@@ -1,5 +1,5 @@
1
1
  import { ValueOf } from '../typeUtils';
2
- import { HammerGestures } from '../RNGestureHandlerModule.web';
2
+ import { HammerGestures } from '../web/Gestures';
3
3
  export declare function getHandler(tag: number): import("./NativeViewGestureHandler").default | import("./PanGestureHandler").default | import("./TapGestureHandler").default | import("./LongPressGestureHandler").default | import("./PinchGestureHandler").default | import("./RotationGestureHandler").default | import("./FlingGestureHandler").default;
4
4
  export declare function createGestureHandler(handlerTag: number, handler: InstanceType<ValueOf<typeof HammerGestures>>): void;
5
5
  export declare function dropGestureHandler(handlerTag: number): void;