react-native-gesture-handler 2.26.0 → 2.27.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 (415) hide show
  1. package/README.md +69 -0
  2. package/android/src/main/jni/CMakeLists.txt +7 -26
  3. package/lib/commonjs/components/Pressable/Pressable.js +139 -188
  4. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  5. package/lib/commonjs/components/Pressable/StateMachine.js +38 -0
  6. package/lib/commonjs/components/Pressable/StateMachine.js.map +1 -0
  7. package/lib/commonjs/components/Pressable/stateDefinitions.js +88 -0
  8. package/lib/commonjs/components/Pressable/stateDefinitions.js.map +1 -0
  9. package/lib/commonjs/components/Pressable/utils.js +1 -1
  10. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  11. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +12 -0
  12. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  13. package/lib/commonjs/handlers/gestures/gestureObjects.js +3 -1
  14. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  15. package/lib/commonjs/web/detectors/RotationGestureDetector.js +3 -0
  16. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  17. package/lib/commonjs/web/handlers/FlingGestureHandler.js +3 -0
  18. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  19. package/lib/commonjs/web/handlers/GestureHandler.js +6 -6
  20. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  21. package/lib/commonjs/web/handlers/PanGestureHandler.js +24 -33
  22. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  23. package/lib/commonjs/web/handlers/TapGestureHandler.js +15 -17
  24. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  25. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +1 -1
  26. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  27. package/lib/commonjs/web/tools/PointerEventManager.js +1 -1
  28. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  29. package/lib/commonjs/web/tools/PointerTracker.js +12 -11
  30. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  31. package/lib/commonjs/web/tools/Vector.js +1 -1
  32. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  33. package/lib/module/components/Pressable/Pressable.js +141 -190
  34. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  35. package/lib/module/components/Pressable/StateMachine.js +34 -0
  36. package/lib/module/components/Pressable/StateMachine.js.map +1 -0
  37. package/lib/module/components/Pressable/stateDefinitions.js +83 -0
  38. package/lib/module/components/Pressable/stateDefinitions.js.map +1 -0
  39. package/lib/module/components/Pressable/utils.js +1 -1
  40. package/lib/module/components/Pressable/utils.js.map +1 -1
  41. package/lib/module/handlers/gestures/forceTouchGesture.js +13 -0
  42. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  43. package/lib/module/handlers/gestures/gestureObjects.js +3 -1
  44. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  45. package/lib/module/web/detectors/RotationGestureDetector.js +3 -0
  46. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  47. package/lib/module/web/handlers/FlingGestureHandler.js +3 -0
  48. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  49. package/lib/module/web/handlers/GestureHandler.js +6 -6
  50. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  51. package/lib/module/web/handlers/PanGestureHandler.js +24 -33
  52. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  53. package/lib/module/web/handlers/TapGestureHandler.js +15 -17
  54. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  55. package/lib/module/web/tools/GestureHandlerOrchestrator.js +1 -1
  56. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  57. package/lib/module/web/tools/PointerEventManager.js +1 -1
  58. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  59. package/lib/module/web/tools/PointerTracker.js +12 -11
  60. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  61. package/lib/module/web/tools/Vector.js +1 -1
  62. package/lib/module/web/tools/Vector.js.map +1 -1
  63. package/lib/typescript/ActionType.d.ts +0 -1
  64. package/lib/typescript/ActionType.js +6 -0
  65. package/lib/typescript/Directions.d.ts +0 -1
  66. package/lib/typescript/Directions.js +18 -0
  67. package/lib/typescript/EnableNewWebImplementation.d.ts +0 -1
  68. package/lib/typescript/EnableNewWebImplementation.js +30 -0
  69. package/lib/typescript/GestureHandlerRootViewContext.d.ts +0 -1
  70. package/lib/typescript/GestureHandlerRootViewContext.js +2 -0
  71. package/lib/typescript/PlatformConstants.d.ts +0 -1
  72. package/lib/typescript/PlatformConstants.js +3 -0
  73. package/lib/typescript/PlatformConstants.web.d.ts +0 -1
  74. package/lib/typescript/PlatformConstants.web.js +5 -0
  75. package/lib/typescript/PointerType.d.ts +0 -1
  76. package/lib/typescript/PointerType.js +8 -0
  77. package/lib/typescript/RNGestureHandlerModule.d.ts +0 -1
  78. package/lib/typescript/RNGestureHandlerModule.js +4 -0
  79. package/lib/typescript/RNGestureHandlerModule.web.d.ts +0 -1
  80. package/lib/typescript/RNGestureHandlerModule.web.js +92 -0
  81. package/lib/typescript/RNGestureHandlerModule.windows.d.ts +0 -1
  82. package/lib/typescript/RNGestureHandlerModule.windows.js +47 -0
  83. package/lib/typescript/RNRenderer.d.ts +0 -1
  84. package/lib/typescript/RNRenderer.js +3 -0
  85. package/lib/typescript/RNRenderer.web.d.ts +0 -1
  86. package/lib/typescript/RNRenderer.web.js +3 -0
  87. package/lib/typescript/State.d.ts +0 -1
  88. package/lib/typescript/State.js +9 -0
  89. package/lib/typescript/TouchEventType.d.ts +0 -1
  90. package/lib/typescript/TouchEventType.js +7 -0
  91. package/lib/typescript/components/DrawerLayout.d.ts +0 -1
  92. package/lib/typescript/components/DrawerLayout.js +417 -0
  93. package/lib/typescript/components/GestureButtons.d.ts +0 -1
  94. package/lib/typescript/components/GestureButtons.js +165 -0
  95. package/lib/typescript/components/GestureButtonsProps.d.ts +0 -1
  96. package/lib/typescript/components/GestureButtonsProps.js +1 -0
  97. package/lib/typescript/components/GestureComponents.d.ts +0 -1
  98. package/lib/typescript/components/GestureComponents.js +67 -0
  99. package/lib/typescript/components/GestureComponents.web.d.ts +0 -1
  100. package/lib/typescript/components/GestureComponents.web.js +21 -0
  101. package/lib/typescript/components/GestureHandlerButton.d.ts +0 -1
  102. package/lib/typescript/components/GestureHandlerButton.js +2 -0
  103. package/lib/typescript/components/GestureHandlerButton.web.d.ts +0 -1
  104. package/lib/typescript/components/GestureHandlerButton.web.js +3 -0
  105. package/lib/typescript/components/GestureHandlerRootView.android.d.ts +0 -1
  106. package/lib/typescript/components/GestureHandlerRootView.android.js +17 -0
  107. package/lib/typescript/components/GestureHandlerRootView.d.ts +0 -1
  108. package/lib/typescript/components/GestureHandlerRootView.js +16 -0
  109. package/lib/typescript/components/GestureHandlerRootView.web.d.ts +0 -1
  110. package/lib/typescript/components/GestureHandlerRootView.web.js +11 -0
  111. package/lib/typescript/components/Pressable/Pressable.d.ts +1 -3
  112. package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
  113. package/lib/typescript/components/Pressable/Pressable.js +231 -0
  114. package/lib/typescript/components/Pressable/PressableProps.d.ts +15 -2
  115. package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
  116. package/lib/typescript/components/Pressable/PressableProps.js +1 -0
  117. package/lib/typescript/components/Pressable/StateMachine.d.ts +14 -0
  118. package/lib/typescript/components/Pressable/StateMachine.d.ts.map +1 -0
  119. package/lib/typescript/components/Pressable/StateMachine.js +34 -0
  120. package/lib/typescript/components/Pressable/index.d.ts +0 -1
  121. package/lib/typescript/components/Pressable/index.js +1 -0
  122. package/lib/typescript/components/Pressable/stateDefinitions.d.ts +9 -0
  123. package/lib/typescript/components/Pressable/stateDefinitions.d.ts.map +1 -0
  124. package/lib/typescript/components/Pressable/stateDefinitions.js +104 -0
  125. package/lib/typescript/components/Pressable/utils.d.ts +3 -7
  126. package/lib/typescript/components/Pressable/utils.d.ts.map +1 -1
  127. package/lib/typescript/components/Pressable/utils.js +80 -0
  128. package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +0 -1
  129. package/lib/typescript/components/ReanimatedDrawerLayout.js +364 -0
  130. package/lib/typescript/components/ReanimatedSwipeable.d.ts +0 -1
  131. package/lib/typescript/components/ReanimatedSwipeable.js +400 -0
  132. package/lib/typescript/components/Swipeable.d.ts +0 -1
  133. package/lib/typescript/components/Swipeable.js +287 -0
  134. package/lib/typescript/components/Text.d.ts +0 -1
  135. package/lib/typescript/components/Text.js +38 -0
  136. package/lib/typescript/components/gestureHandlerRootHOC.d.ts +0 -1
  137. package/lib/typescript/components/gestureHandlerRootHOC.js +18 -0
  138. package/lib/typescript/components/touchables/ExtraButtonProps.d.ts +0 -1
  139. package/lib/typescript/components/touchables/ExtraButtonProps.js +1 -0
  140. package/lib/typescript/components/touchables/GenericTouchable.d.ts +0 -1
  141. package/lib/typescript/components/touchables/GenericTouchable.js +221 -0
  142. package/lib/typescript/components/touchables/GenericTouchableProps.d.ts +0 -1
  143. package/lib/typescript/components/touchables/GenericTouchableProps.js +1 -0
  144. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +0 -1
  145. package/lib/typescript/components/touchables/TouchableHighlight.js +75 -0
  146. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +0 -1
  147. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.js +65 -0
  148. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +0 -1
  149. package/lib/typescript/components/touchables/TouchableNativeFeedback.js +6 -0
  150. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +0 -1
  151. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.js +1 -0
  152. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +0 -1
  153. package/lib/typescript/components/touchables/TouchableOpacity.js +51 -0
  154. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +0 -1
  155. package/lib/typescript/components/touchables/TouchableWithoutFeedback.js +10 -0
  156. package/lib/typescript/components/touchables/index.d.ts +0 -1
  157. package/lib/typescript/components/touchables/index.js +4 -0
  158. package/lib/typescript/components/utils.d.ts +0 -1
  159. package/lib/typescript/components/utils.js +11 -0
  160. package/lib/typescript/findNodeHandle.d.ts +0 -1
  161. package/lib/typescript/findNodeHandle.js +2 -0
  162. package/lib/typescript/findNodeHandle.web.d.ts +0 -1
  163. package/lib/typescript/findNodeHandle.web.js +31 -0
  164. package/lib/typescript/getShadowNodeFromRef.d.ts +0 -1
  165. package/lib/typescript/getShadowNodeFromRef.js +45 -0
  166. package/lib/typescript/getShadowNodeFromRef.web.d.ts +0 -1
  167. package/lib/typescript/getShadowNodeFromRef.web.js +7 -0
  168. package/lib/typescript/ghQueueMicrotask.d.ts +0 -1
  169. package/lib/typescript/ghQueueMicrotask.js +7 -0
  170. package/lib/typescript/handlers/FlingGestureHandler.d.ts +0 -1
  171. package/lib/typescript/handlers/FlingGestureHandler.js +19 -0
  172. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +0 -1
  173. package/lib/typescript/handlers/ForceTouchGestureHandler.js +37 -0
  174. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts +3 -1
  175. package/lib/typescript/handlers/GestureHandlerEventPayload.d.ts.map +1 -1
  176. package/lib/typescript/handlers/GestureHandlerEventPayload.js +1 -0
  177. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +0 -1
  178. package/lib/typescript/handlers/LongPressGestureHandler.js +22 -0
  179. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +0 -1
  180. package/lib/typescript/handlers/NativeViewGestureHandler.js +20 -0
  181. package/lib/typescript/handlers/PanGestureHandler.d.ts +0 -1
  182. package/lib/typescript/handlers/PanGestureHandler.js +128 -0
  183. package/lib/typescript/handlers/PinchGestureHandler.d.ts +0 -1
  184. package/lib/typescript/handlers/PinchGestureHandler.js +12 -0
  185. package/lib/typescript/handlers/PressabilityDebugView.d.ts +0 -1
  186. package/lib/typescript/handlers/PressabilityDebugView.js +2 -0
  187. package/lib/typescript/handlers/PressabilityDebugView.web.d.ts +0 -1
  188. package/lib/typescript/handlers/PressabilityDebugView.web.js +4 -0
  189. package/lib/typescript/handlers/RotationGestureHandler.d.ts +0 -1
  190. package/lib/typescript/handlers/RotationGestureHandler.js +12 -0
  191. package/lib/typescript/handlers/TapGestureHandler.d.ts +0 -1
  192. package/lib/typescript/handlers/TapGestureHandler.js +26 -0
  193. package/lib/typescript/handlers/createHandler.d.ts +0 -1
  194. package/lib/typescript/handlers/createHandler.js +375 -0
  195. package/lib/typescript/handlers/createNativeWrapper.d.ts +0 -1
  196. package/lib/typescript/handlers/createNativeWrapper.js +67 -0
  197. package/lib/typescript/handlers/customDirectEventTypes.d.ts +0 -1
  198. package/lib/typescript/handlers/customDirectEventTypes.js +2 -0
  199. package/lib/typescript/handlers/customDirectEventTypes.web.d.ts +0 -1
  200. package/lib/typescript/handlers/customDirectEventTypes.web.js +4 -0
  201. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +0 -1
  202. package/lib/typescript/handlers/gestureHandlerCommon.js +42 -0
  203. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts +9 -1
  204. package/lib/typescript/handlers/gestureHandlerTypesCompat.d.ts.map +1 -1
  205. package/lib/typescript/handlers/gestureHandlerTypesCompat.js +1 -0
  206. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.d.ts +0 -1
  207. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.js +22 -0
  208. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.d.ts +0 -1
  209. package/lib/typescript/handlers/gestures/GestureDetector/Wrap.web.js +24 -0
  210. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.d.ts +0 -1
  211. package/lib/typescript/handlers/gestures/GestureDetector/attachHandlers.js +55 -0
  212. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.d.ts +0 -1
  213. package/lib/typescript/handlers/gestures/GestureDetector/dropHandlers.js +12 -0
  214. package/lib/typescript/handlers/gestures/GestureDetector/index.d.ts +0 -1
  215. package/lib/typescript/handlers/gestures/GestureDetector/index.js +114 -0
  216. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.d.ts +0 -1
  217. package/lib/typescript/handlers/gestures/GestureDetector/needsToReattach.js +18 -0
  218. package/lib/typescript/handlers/gestures/GestureDetector/types.d.ts +0 -1
  219. package/lib/typescript/handlers/gestures/GestureDetector/types.js +1 -0
  220. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.d.ts +0 -1
  221. package/lib/typescript/handlers/gestures/GestureDetector/updateHandlers.js +54 -0
  222. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.d.ts +0 -1
  223. package/lib/typescript/handlers/gestures/GestureDetector/useAnimatedGesture.js +137 -0
  224. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts +0 -1
  225. package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.js +48 -0
  226. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.d.ts +0 -1
  227. package/lib/typescript/handlers/gestures/GestureDetector/useMountReactions.js +35 -0
  228. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.d.ts +0 -1
  229. package/lib/typescript/handlers/gestures/GestureDetector/useViewRefHandler.js +32 -0
  230. package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
  231. package/lib/typescript/handlers/gestures/GestureDetector/utils.js +140 -0
  232. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +0 -1
  233. package/lib/typescript/handlers/gestures/eventReceiver.js +105 -0
  234. package/lib/typescript/handlers/gestures/flingGesture.d.ts +0 -1
  235. package/lib/typescript/handlers/gestures/flingGesture.js +27 -0
  236. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +9 -1
  237. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts.map +1 -1
  238. package/lib/typescript/handlers/gestures/forceTouchGesture.js +57 -0
  239. package/lib/typescript/handlers/gestures/gesture.d.ts +0 -1
  240. package/lib/typescript/handlers/gestures/gesture.js +303 -0
  241. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +0 -1
  242. package/lib/typescript/handlers/gestures/gestureComposition.js +78 -0
  243. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +3 -2
  244. package/lib/typescript/handlers/gestures/gestureObjects.d.ts.map +1 -1
  245. package/lib/typescript/handlers/gestures/gestureObjects.js +125 -0
  246. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +0 -1
  247. package/lib/typescript/handlers/gestures/gestureStateManager.js +60 -0
  248. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +0 -1
  249. package/lib/typescript/handlers/gestures/gestureStateManager.web.js +19 -0
  250. package/lib/typescript/handlers/gestures/hoverGesture.d.ts +0 -1
  251. package/lib/typescript/handlers/gestures/hoverGesture.js +45 -0
  252. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +0 -1
  253. package/lib/typescript/handlers/gestures/longPressGesture.js +35 -0
  254. package/lib/typescript/handlers/gestures/manualGesture.d.ts +0 -1
  255. package/lib/typescript/handlers/gestures/manualGesture.js +16 -0
  256. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +0 -1
  257. package/lib/typescript/handlers/gestures/nativeGesture.js +24 -0
  258. package/lib/typescript/handlers/gestures/panGesture.d.ts +0 -1
  259. package/lib/typescript/handlers/gestures/panGesture.js +181 -0
  260. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +0 -1
  261. package/lib/typescript/handlers/gestures/pinchGesture.js +27 -0
  262. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +0 -1
  263. package/lib/typescript/handlers/gestures/reanimatedWrapper.js +23 -0
  264. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +0 -1
  265. package/lib/typescript/handlers/gestures/rotationGesture.js +27 -0
  266. package/lib/typescript/handlers/gestures/tapGesture.d.ts +0 -1
  267. package/lib/typescript/handlers/gestures/tapGesture.js +72 -0
  268. package/lib/typescript/handlers/getNextHandlerTag.d.ts +0 -1
  269. package/lib/typescript/handlers/getNextHandlerTag.js +4 -0
  270. package/lib/typescript/handlers/handlersRegistry.d.ts +0 -1
  271. package/lib/typescript/handlers/handlersRegistry.js +36 -0
  272. package/lib/typescript/handlers/utils.d.ts +0 -1
  273. package/lib/typescript/handlers/utils.js +58 -0
  274. package/lib/typescript/index.d.ts +0 -1
  275. package/lib/typescript/index.js +28 -0
  276. package/lib/typescript/init.d.ts +0 -1
  277. package/lib/typescript/init.js +15 -0
  278. package/lib/typescript/jestUtils/index.d.ts +0 -1
  279. package/lib/typescript/jestUtils/index.js +1 -0
  280. package/lib/typescript/jestUtils/jestUtils.d.ts +0 -1
  281. package/lib/typescript/jestUtils/jestUtils.js +290 -0
  282. package/lib/typescript/mocks.d.ts +0 -1
  283. package/lib/typescript/mocks.js +59 -0
  284. package/lib/typescript/mountRegistry.d.ts +0 -1
  285. package/lib/typescript/mountRegistry.js +29 -0
  286. package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +0 -1
  287. package/lib/typescript/specs/NativeRNGestureHandlerModule.js +2 -0
  288. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +0 -1
  289. package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.js +2 -0
  290. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.d.ts +0 -1
  291. package/lib/typescript/specs/RNGestureHandlerRootViewNativeComponent.js +2 -0
  292. package/lib/typescript/typeUtils.d.ts +0 -1
  293. package/lib/typescript/typeUtils.js +1 -0
  294. package/lib/typescript/utils.d.ts +0 -1
  295. package/lib/typescript/utils.js +80 -0
  296. package/lib/typescript/web/Gestures.d.ts +0 -1
  297. package/lib/typescript/web/Gestures.js +38 -0
  298. package/lib/typescript/web/constants.d.ts +0 -1
  299. package/lib/typescript/web/constants.js +2 -0
  300. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +0 -1
  301. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts.map +1 -1
  302. package/lib/typescript/web/detectors/RotationGestureDetector.js +122 -0
  303. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +0 -1
  304. package/lib/typescript/web/detectors/ScaleGestureDetector.js +117 -0
  305. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts +0 -1
  306. package/lib/typescript/web/handlers/FlingGestureHandler.d.ts.map +1 -1
  307. package/lib/typescript/web/handlers/FlingGestureHandler.js +133 -0
  308. package/lib/typescript/web/handlers/GestureHandler.d.ts +0 -1
  309. package/lib/typescript/web/handlers/GestureHandler.d.ts.map +1 -1
  310. package/lib/typescript/web/handlers/GestureHandler.js +656 -0
  311. package/lib/typescript/web/handlers/HoverGestureHandler.d.ts +0 -1
  312. package/lib/typescript/web/handlers/HoverGestureHandler.js +37 -0
  313. package/lib/typescript/web/handlers/IGestureHandler.d.ts +0 -1
  314. package/lib/typescript/web/handlers/IGestureHandler.js +1 -0
  315. package/lib/typescript/web/handlers/LongPressGestureHandler.d.ts +0 -1
  316. package/lib/typescript/web/handlers/LongPressGestureHandler.js +136 -0
  317. package/lib/typescript/web/handlers/ManualGestureHandler.d.ts +0 -1
  318. package/lib/typescript/web/handlers/ManualGestureHandler.js +29 -0
  319. package/lib/typescript/web/handlers/NativeViewGestureHandler.d.ts +0 -1
  320. package/lib/typescript/web/handlers/NativeViewGestureHandler.js +133 -0
  321. package/lib/typescript/web/handlers/PanGestureHandler.d.ts +2 -1
  322. package/lib/typescript/web/handlers/PanGestureHandler.d.ts.map +1 -1
  323. package/lib/typescript/web/handlers/PanGestureHandler.js +420 -0
  324. package/lib/typescript/web/handlers/PinchGestureHandler.d.ts +0 -1
  325. package/lib/typescript/web/handlers/PinchGestureHandler.js +117 -0
  326. package/lib/typescript/web/handlers/RotationGestureHandler.d.ts +0 -1
  327. package/lib/typescript/web/handlers/RotationGestureHandler.js +122 -0
  328. package/lib/typescript/web/handlers/TapGestureHandler.d.ts +1 -1
  329. package/lib/typescript/web/handlers/TapGestureHandler.d.ts.map +1 -1
  330. package/lib/typescript/web/handlers/TapGestureHandler.js +202 -0
  331. package/lib/typescript/web/interfaces.d.ts +0 -1
  332. package/lib/typescript/web/interfaces.js +25 -0
  333. package/lib/typescript/web/tools/CircularBuffer.d.ts +0 -1
  334. package/lib/typescript/web/tools/CircularBuffer.js +37 -0
  335. package/lib/typescript/web/tools/EventManager.d.ts +0 -1
  336. package/lib/typescript/web/tools/EventManager.js +85 -0
  337. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +0 -1
  338. package/lib/typescript/web/tools/GestureHandlerDelegate.js +1 -0
  339. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +0 -1
  340. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -1
  341. package/lib/typescript/web/tools/GestureHandlerOrchestrator.js +273 -0
  342. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +0 -1
  343. package/lib/typescript/web/tools/GestureHandlerWebDelegate.js +169 -0
  344. package/lib/typescript/web/tools/InteractionManager.d.ts +0 -1
  345. package/lib/typescript/web/tools/InteractionManager.js +91 -0
  346. package/lib/typescript/web/tools/KeyboardEventManager.d.ts +0 -1
  347. package/lib/typescript/web/tools/KeyboardEventManager.js +73 -0
  348. package/lib/typescript/web/tools/LeastSquareSolver.d.ts +0 -1
  349. package/lib/typescript/web/tools/LeastSquareSolver.js +147 -0
  350. package/lib/typescript/web/tools/NodeManager.d.ts +0 -1
  351. package/lib/typescript/web/tools/NodeManager.js +28 -0
  352. package/lib/typescript/web/tools/PointerEventManager.d.ts +0 -1
  353. package/lib/typescript/web/tools/PointerEventManager.js +179 -0
  354. package/lib/typescript/web/tools/PointerTracker.d.ts +3 -4
  355. package/lib/typescript/web/tools/PointerTracker.d.ts.map +1 -1
  356. package/lib/typescript/web/tools/PointerTracker.js +161 -0
  357. package/lib/typescript/web/tools/Vector.d.ts +1 -2
  358. package/lib/typescript/web/tools/Vector.js +43 -0
  359. package/lib/typescript/web/tools/VelocityTracker.d.ts +0 -1
  360. package/lib/typescript/web/tools/VelocityTracker.js +76 -0
  361. package/lib/typescript/web/tools/WheelEventManager.d.ts +0 -1
  362. package/lib/typescript/web/tools/WheelEventManager.js +40 -0
  363. package/lib/typescript/web/utils.d.ts +0 -1
  364. package/lib/typescript/web/utils.js +233 -0
  365. package/lib/typescript/web_hammer/DiscreteGestureHandler.d.ts +0 -1
  366. package/lib/typescript/web_hammer/DiscreteGestureHandler.js +48 -0
  367. package/lib/typescript/web_hammer/DraggingGestureHandler.d.ts +0 -1
  368. package/lib/typescript/web_hammer/DraggingGestureHandler.js +25 -0
  369. package/lib/typescript/web_hammer/Errors.d.ts +0 -1
  370. package/lib/typescript/web_hammer/Errors.js +5 -0
  371. package/lib/typescript/web_hammer/FlingGestureHandler.d.ts +0 -1
  372. package/lib/typescript/web_hammer/FlingGestureHandler.js +119 -0
  373. package/lib/typescript/web_hammer/GestureHandler.d.ts +0 -1
  374. package/lib/typescript/web_hammer/GestureHandler.js +469 -0
  375. package/lib/typescript/web_hammer/IndiscreteGestureHandler.d.ts +0 -1
  376. package/lib/typescript/web_hammer/IndiscreteGestureHandler.js +26 -0
  377. package/lib/typescript/web_hammer/LongPressGestureHandler.d.ts +0 -1
  378. package/lib/typescript/web_hammer/LongPressGestureHandler.js +46 -0
  379. package/lib/typescript/web_hammer/NativeViewGestureHandler.d.ts +0 -1
  380. package/lib/typescript/web_hammer/NativeViewGestureHandler.js +40 -0
  381. package/lib/typescript/web_hammer/NodeManager.d.ts +0 -1
  382. package/lib/typescript/web_hammer/NodeManager.js +28 -0
  383. package/lib/typescript/web_hammer/PanGestureHandler.d.ts +0 -1
  384. package/lib/typescript/web_hammer/PanGestureHandler.js +151 -0
  385. package/lib/typescript/web_hammer/PinchGestureHandler.d.ts +0 -1
  386. package/lib/typescript/web_hammer/PinchGestureHandler.js +19 -0
  387. package/lib/typescript/web_hammer/PressGestureHandler.d.ts +0 -1
  388. package/lib/typescript/web_hammer/PressGestureHandler.js +133 -0
  389. package/lib/typescript/web_hammer/RotationGestureHandler.d.ts +0 -1
  390. package/lib/typescript/web_hammer/RotationGestureHandler.js +20 -0
  391. package/lib/typescript/web_hammer/TapGestureHandler.d.ts +0 -1
  392. package/lib/typescript/web_hammer/TapGestureHandler.js +142 -0
  393. package/lib/typescript/web_hammer/constants.d.ts +0 -1
  394. package/lib/typescript/web_hammer/constants.js +42 -0
  395. package/lib/typescript/web_hammer/utils.d.ts +0 -1
  396. package/lib/typescript/web_hammer/utils.js +15 -0
  397. package/package.json +4 -2
  398. package/src/components/Pressable/Pressable.tsx +357 -445
  399. package/src/components/Pressable/PressableProps.tsx +15 -0
  400. package/src/components/Pressable/StateMachine.tsx +49 -0
  401. package/src/components/Pressable/stateDefinitions.ts +125 -0
  402. package/src/components/Pressable/utils.ts +11 -7
  403. package/src/handlers/GestureHandlerEventPayload.ts +3 -0
  404. package/src/handlers/gestureHandlerTypesCompat.ts +9 -0
  405. package/src/handlers/gestures/forceTouchGesture.ts +9 -0
  406. package/src/handlers/gestures/gestureObjects.ts +3 -1
  407. package/src/web/detectors/RotationGestureDetector.ts +4 -0
  408. package/src/web/handlers/FlingGestureHandler.ts +4 -0
  409. package/src/web/handlers/GestureHandler.ts +9 -3
  410. package/src/web/handlers/PanGestureHandler.ts +25 -36
  411. package/src/web/handlers/TapGestureHandler.ts +14 -19
  412. package/src/web/tools/GestureHandlerOrchestrator.ts +1 -0
  413. package/src/web/tools/PointerEventManager.ts +1 -1
  414. package/src/web/tools/PointerTracker.ts +17 -15
  415. package/src/web/tools/Vector.ts +1 -1
@@ -0,0 +1,140 @@
1
+ import { Platform } from 'react-native';
2
+ import { isTestEnv, tagMessage } from '../../../utils';
3
+ import { BaseGesture } from '../gesture';
4
+ import { flingGestureHandlerProps } from '../../FlingGestureHandler';
5
+ import { forceTouchGestureHandlerProps } from '../../ForceTouchGestureHandler';
6
+ import { longPressGestureHandlerProps } from '../../LongPressGestureHandler';
7
+ import { panGestureHandlerProps, panGestureHandlerCustomNativeProps, } from '../../PanGestureHandler';
8
+ import { tapGestureHandlerProps } from '../../TapGestureHandler';
9
+ import { hoverGestureHandlerProps } from '../hoverGesture';
10
+ import { nativeViewGestureHandlerProps } from '../../NativeViewGestureHandler';
11
+ import { baseGestureHandlerWithDetectorProps, } from '../../gestureHandlerCommon';
12
+ import { isNewWebImplementationEnabled } from '../../../EnableNewWebImplementation';
13
+ import { RNRenderer } from '../../../RNRenderer';
14
+ import { useCallback, useRef, useState } from 'react';
15
+ import { Reanimated } from '../reanimatedWrapper';
16
+ import { onGestureHandlerEvent } from '../eventReceiver';
17
+ export const ALLOWED_PROPS = [
18
+ ...baseGestureHandlerWithDetectorProps,
19
+ ...tapGestureHandlerProps,
20
+ ...panGestureHandlerProps,
21
+ ...panGestureHandlerCustomNativeProps,
22
+ ...longPressGestureHandlerProps,
23
+ ...forceTouchGestureHandlerProps,
24
+ ...flingGestureHandlerProps,
25
+ ...hoverGestureHandlerProps,
26
+ ...nativeViewGestureHandlerProps,
27
+ ];
28
+ function convertToHandlerTag(ref) {
29
+ if (typeof ref === 'number') {
30
+ return ref;
31
+ }
32
+ else if (ref instanceof BaseGesture) {
33
+ return ref.handlerTag;
34
+ }
35
+ else {
36
+ // @ts-ignore in this case it should be a ref either to gesture object or
37
+ // a gesture handler component, in both cases handlerTag property exists
38
+ return ref.current?.handlerTag ?? -1;
39
+ }
40
+ }
41
+ function extractValidHandlerTags(interactionGroup) {
42
+ return (interactionGroup?.map(convertToHandlerTag)?.filter((tag) => tag > 0) ?? []);
43
+ }
44
+ export function extractGestureRelations(gesture) {
45
+ const requireToFail = extractValidHandlerTags(gesture.config.requireToFail);
46
+ const simultaneousWith = extractValidHandlerTags(gesture.config.simultaneousWith);
47
+ const blocksHandlers = extractValidHandlerTags(gesture.config.blocksHandlers);
48
+ return {
49
+ waitFor: requireToFail,
50
+ simultaneousHandlers: simultaneousWith,
51
+ blocksHandlers: blocksHandlers,
52
+ };
53
+ }
54
+ export function checkGestureCallbacksForWorklets(gesture) {
55
+ if (!__DEV__) {
56
+ return;
57
+ }
58
+ // If a gesture is explicitly marked to run on the JS thread there is no need to check
59
+ // if callbacks are worklets as the user is aware they will be ran on the JS thread
60
+ if (gesture.config.runOnJS) {
61
+ return;
62
+ }
63
+ const areSomeNotWorklets = gesture.handlers.isWorklet.includes(false);
64
+ const areSomeWorklets = gesture.handlers.isWorklet.includes(true);
65
+ // If some of the callbacks are worklets and some are not, and the gesture is not
66
+ // explicitly marked with `.runOnJS(true)` show an error
67
+ if (areSomeNotWorklets && areSomeWorklets) {
68
+ console.error(tagMessage(`Some of the callbacks in the gesture are worklets and some are not. Either make sure that all calbacks are marked as 'worklet' if you wish to run them on the UI thread or use '.runOnJS(true)' modifier on the gesture explicitly to run all callbacks on the JS thread.`));
69
+ }
70
+ if (Reanimated === undefined) {
71
+ // If Reanimated is not available, we can't run worklets, so we shouldn't show the warning
72
+ return;
73
+ }
74
+ const areAllNotWorklets = !areSomeWorklets && areSomeNotWorklets;
75
+ // If none of the callbacks are worklets and the gesture is not explicitly marked with
76
+ // `.runOnJS(true)` show a warning
77
+ if (areAllNotWorklets && !isTestEnv()) {
78
+ console.warn(tagMessage(`None of the callbacks in the gesture are worklets. If you wish to run them on the JS thread use '.runOnJS(true)' modifier on the gesture to make this explicit. Otherwise, mark the callbacks as 'worklet' to run them on the UI thread.`));
79
+ }
80
+ }
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ export function validateDetectorChildren(ref) {
83
+ // Finds the first native view under the Wrap component and traverses the fiber tree upwards
84
+ // to check whether there is more than one native view as a pseudo-direct child of GestureDetector
85
+ // i.e. this is not ok:
86
+ // Wrap
87
+ // |
88
+ // / \
89
+ // / \
90
+ // / \
91
+ // / \
92
+ // NativeView NativeView
93
+ //
94
+ // but this is fine:
95
+ // Wrap
96
+ // |
97
+ // NativeView
98
+ // |
99
+ // / \
100
+ // / \
101
+ // / \
102
+ // / \
103
+ // NativeView NativeView
104
+ if (__DEV__ && Platform.OS !== 'web') {
105
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
106
+ const wrapType =
107
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
108
+ ref._reactInternals.elementType;
109
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
110
+ let instance = RNRenderer.findHostInstance_DEPRECATED(ref)._internalFiberInstanceHandleDEV;
111
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
112
+ while (instance && instance.elementType !== wrapType) {
113
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
114
+ if (instance.sibling) {
115
+ throw new Error('GestureDetector has more than one native view as its children. This can happen if you are using a custom component that renders multiple views, like React.Fragment. You should wrap content of GestureDetector with a <View> or <Animated.View>.');
116
+ }
117
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
118
+ instance = instance.return;
119
+ }
120
+ }
121
+ }
122
+ export function useForceRender() {
123
+ const [renderState, setRenderState] = useState(false);
124
+ const forceRender = useCallback(() => {
125
+ setRenderState(!renderState);
126
+ }, [renderState, setRenderState]);
127
+ return forceRender;
128
+ }
129
+ export function useWebEventHandlers() {
130
+ return useRef({
131
+ onGestureHandlerEvent: (e) => {
132
+ onGestureHandlerEvent(e.nativeEvent);
133
+ },
134
+ onGestureHandlerStateChange: isNewWebImplementationEnabled()
135
+ ? (e) => {
136
+ onGestureHandlerEvent(e.nativeEvent);
137
+ }
138
+ : undefined,
139
+ });
140
+ }
@@ -2,4 +2,3 @@ import { GestureTouchEvent, GestureUpdateEvent, GestureStateChangeEvent } from '
2
2
  export declare function onGestureHandlerEvent(event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent): void;
3
3
  export declare function startListening(): void;
4
4
  export declare function stopListening(): void;
5
- //# sourceMappingURL=eventReceiver.d.ts.map
@@ -0,0 +1,105 @@
1
+ import { DeviceEventEmitter } from 'react-native';
2
+ import { State } from '../../State';
3
+ import { TouchEventType } from '../../TouchEventType';
4
+ import { findHandler, findOldGestureHandler } from '../handlersRegistry';
5
+ import { GestureStateManager, } from './gestureStateManager';
6
+ let gestureHandlerEventSubscription = null;
7
+ let gestureHandlerStateChangeEventSubscription = null;
8
+ const gestureStateManagers = new Map();
9
+ const lastUpdateEvent = [];
10
+ function isStateChangeEvent(event) {
11
+ // @ts-ignore oldState doesn't exist on GestureTouchEvent and that's the point
12
+ return event.oldState != null;
13
+ }
14
+ function isTouchEvent(event) {
15
+ return event.eventType != null;
16
+ }
17
+ export function onGestureHandlerEvent(event) {
18
+ const handler = findHandler(event.handlerTag);
19
+ if (handler) {
20
+ if (isStateChangeEvent(event)) {
21
+ if (event.oldState === State.UNDETERMINED &&
22
+ event.state === State.BEGAN) {
23
+ handler.handlers.onBegin?.(event);
24
+ }
25
+ else if ((event.oldState === State.BEGAN ||
26
+ event.oldState === State.UNDETERMINED) &&
27
+ event.state === State.ACTIVE) {
28
+ handler.handlers.onStart?.(event);
29
+ lastUpdateEvent[handler.handlers.handlerTag] = event;
30
+ }
31
+ else if (event.oldState !== event.state && event.state === State.END) {
32
+ if (event.oldState === State.ACTIVE) {
33
+ handler.handlers.onEnd?.(event, true);
34
+ }
35
+ handler.handlers.onFinalize?.(event, true);
36
+ lastUpdateEvent[handler.handlers.handlerTag] = undefined;
37
+ }
38
+ else if ((event.state === State.FAILED || event.state === State.CANCELLED) &&
39
+ event.oldState !== event.state) {
40
+ if (event.oldState === State.ACTIVE) {
41
+ handler.handlers.onEnd?.(event, false);
42
+ }
43
+ handler.handlers.onFinalize?.(event, false);
44
+ gestureStateManagers.delete(event.handlerTag);
45
+ lastUpdateEvent[handler.handlers.handlerTag] = undefined;
46
+ }
47
+ }
48
+ else if (isTouchEvent(event)) {
49
+ if (!gestureStateManagers.has(event.handlerTag)) {
50
+ gestureStateManagers.set(event.handlerTag, GestureStateManager.create(event.handlerTag));
51
+ }
52
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
53
+ const manager = gestureStateManagers.get(event.handlerTag);
54
+ switch (event.eventType) {
55
+ case TouchEventType.TOUCHES_DOWN:
56
+ handler.handlers?.onTouchesDown?.(event, manager);
57
+ break;
58
+ case TouchEventType.TOUCHES_MOVE:
59
+ handler.handlers?.onTouchesMove?.(event, manager);
60
+ break;
61
+ case TouchEventType.TOUCHES_UP:
62
+ handler.handlers?.onTouchesUp?.(event, manager);
63
+ break;
64
+ case TouchEventType.TOUCHES_CANCELLED:
65
+ handler.handlers?.onTouchesCancelled?.(event, manager);
66
+ break;
67
+ }
68
+ }
69
+ else {
70
+ handler.handlers.onUpdate?.(event);
71
+ if (handler.handlers.onChange && handler.handlers.changeEventCalculator) {
72
+ handler.handlers.onChange?.(handler.handlers.changeEventCalculator?.(event, lastUpdateEvent[handler.handlers.handlerTag]));
73
+ lastUpdateEvent[handler.handlers.handlerTag] = event;
74
+ }
75
+ }
76
+ }
77
+ else {
78
+ const oldHandler = findOldGestureHandler(event.handlerTag);
79
+ if (oldHandler) {
80
+ const nativeEvent = { nativeEvent: event };
81
+ if (isStateChangeEvent(event)) {
82
+ oldHandler.onGestureStateChange(nativeEvent);
83
+ }
84
+ else {
85
+ oldHandler.onGestureEvent(nativeEvent);
86
+ }
87
+ return;
88
+ }
89
+ }
90
+ }
91
+ export function startListening() {
92
+ stopListening();
93
+ gestureHandlerEventSubscription = DeviceEventEmitter.addListener('onGestureHandlerEvent', onGestureHandlerEvent);
94
+ gestureHandlerStateChangeEventSubscription = DeviceEventEmitter.addListener('onGestureHandlerStateChange', onGestureHandlerEvent);
95
+ }
96
+ export function stopListening() {
97
+ if (gestureHandlerEventSubscription) {
98
+ gestureHandlerEventSubscription.remove();
99
+ gestureHandlerEventSubscription = null;
100
+ }
101
+ if (gestureHandlerStateChangeEventSubscription) {
102
+ gestureHandlerStateChangeEventSubscription.remove();
103
+ gestureHandlerStateChangeEventSubscription = null;
104
+ }
105
+ }
@@ -19,4 +19,3 @@ export declare class FlingGesture extends BaseGesture<FlingGestureHandlerEventPa
19
19
  direction(direction: number): this;
20
20
  }
21
21
  export type FlingGestureType = InstanceType<typeof FlingGesture>;
22
- //# sourceMappingURL=flingGesture.d.ts.map
@@ -0,0 +1,27 @@
1
+ import { BaseGesture } from './gesture';
2
+ export class FlingGesture extends BaseGesture {
3
+ config = {};
4
+ constructor() {
5
+ super();
6
+ this.handlerName = 'FlingGestureHandler';
7
+ }
8
+ /**
9
+ * Determine exact number of points required to handle the fling gesture.
10
+ * @param pointers
11
+ */
12
+ numberOfPointers(pointers) {
13
+ this.config.numberOfPointers = pointers;
14
+ return this;
15
+ }
16
+ /**
17
+ * Expressed allowed direction of movement.
18
+ * Expected values are exported as constants in the Directions object.
19
+ * Arguments can be combined using `|` operator. Default value is set to `MouseButton.LEFT`.
20
+ * @param direction
21
+ * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/fling-gesture/#directionvalue-directions
22
+ */
23
+ direction(direction) {
24
+ this.config.direction = direction;
25
+ return this;
26
+ }
27
+ }
@@ -2,9 +2,15 @@ import { BaseGestureConfig, ContinousBaseGesture } from './gesture';
2
2
  import { ForceTouchGestureConfig } from '../ForceTouchGestureHandler';
3
3
  import type { ForceTouchGestureHandlerEventPayload } from '../GestureHandlerEventPayload';
4
4
  import { GestureUpdateEvent } from '../gestureHandlerCommon';
5
+ /**
6
+ * @deprecated ForceTouch gesture is deprecated and will be removed in the future.
7
+ */
5
8
  export type ForceTouchGestureChangeEventPayload = {
6
9
  forceChange: number;
7
10
  };
11
+ /**
12
+ * @deprecated ForceTouch gesture is deprecated and will be removed in the future.
13
+ */
8
14
  export declare class ForceTouchGesture extends ContinousBaseGesture<ForceTouchGestureHandlerEventPayload, ForceTouchGestureChangeEventPayload> {
9
15
  config: BaseGestureConfig & ForceTouchGestureConfig;
10
16
  constructor();
@@ -27,5 +33,7 @@ export declare class ForceTouchGesture extends ContinousBaseGesture<ForceTouchGe
27
33
  feedbackOnActivation(value: boolean): this;
28
34
  onChange(callback: (event: GestureUpdateEvent<GestureUpdateEvent<ForceTouchGestureHandlerEventPayload & ForceTouchGestureChangeEventPayload>>) => void): this;
29
35
  }
36
+ /**
37
+ * @deprecated ForceTouch gesture is deprecated and will be removed in the future.
38
+ */
30
39
  export type ForceTouchGestureType = InstanceType<typeof ForceTouchGesture>;
31
- //# sourceMappingURL=forceTouchGesture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forceTouchGesture.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/forceTouchGesture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,mCAAmC,GAAG;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAqBF,qBAAa,iBAAkB,SAAQ,oBAAoB,CACzD,oCAAoC,EACpC,mCAAmC,CACpC;IACQ,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAAM;;IAQhE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO;IAKnC,QAAQ,CACN,QAAQ,EAAE,CACR,KAAK,EAAE,kBAAkB,CACvB,kBAAkB,CAChB,oCAAoC,GAClC,mCAAmC,CACtC,CACF,KACE,IAAI;CAMZ;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"forceTouchGesture.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/forceTouchGesture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAqBF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,oBAAoB,CACzD,oCAAoC,EACpC,mCAAmC,CACpC;IACQ,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,CAAM;;IAQhE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,OAAO;IAKnC,QAAQ,CACN,QAAQ,EAAE,CACR,KAAK,EAAE,kBAAkB,CACvB,kBAAkB,CAChB,oCAAoC,GAClC,mCAAmC,CACtC,CACF,KACE,IAAI;CAMZ;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { ContinousBaseGesture } from './gesture';
2
+ function changeEventCalculator(current, previous) {
3
+ 'worklet';
4
+ let changePayload;
5
+ if (previous === undefined) {
6
+ changePayload = {
7
+ forceChange: current.force,
8
+ };
9
+ }
10
+ else {
11
+ changePayload = {
12
+ forceChange: current.force - previous.force,
13
+ };
14
+ }
15
+ return { ...current, ...changePayload };
16
+ }
17
+ /**
18
+ * @deprecated ForceTouch gesture is deprecated and will be removed in the future.
19
+ */
20
+ export class ForceTouchGesture extends ContinousBaseGesture {
21
+ config = {};
22
+ constructor() {
23
+ super();
24
+ this.handlerName = 'ForceTouchGestureHandler';
25
+ }
26
+ /**
27
+ * A minimal pressure that is required before gesture can activate.
28
+ * Should be a value from range [0.0, 1.0]. Default is 0.2.
29
+ * @param force
30
+ */
31
+ minForce(force) {
32
+ this.config.minForce = force;
33
+ return this;
34
+ }
35
+ /**
36
+ * A maximal pressure that could be applied for gesture.
37
+ * If the pressure is greater, gesture fails. Should be a value from range [0.0, 1.0].
38
+ * @param force
39
+ */
40
+ maxForce(force) {
41
+ this.config.maxForce = force;
42
+ return this;
43
+ }
44
+ /**
45
+ * Value defining if haptic feedback has to be performed on activation.
46
+ * @param value
47
+ */
48
+ feedbackOnActivation(value) {
49
+ this.config.feedbackOnActivation = value;
50
+ return this;
51
+ }
52
+ onChange(callback) {
53
+ // @ts-ignore TS being overprotective, ForceTouchGestureHandlerEventPayload is Record
54
+ this.handlers.changeEventCalculator = changeEventCalculator;
55
+ return super.onChange(callback);
56
+ }
57
+ }
@@ -215,4 +215,3 @@ export declare abstract class ContinousBaseGesture<EventPayloadT extends Record<
215
215
  manualActivation(manualActivation: boolean): this;
216
216
  }
217
217
  export {};
218
- //# sourceMappingURL=gesture.d.ts.map