@amazon-devices/react-native-gesture-handler 4.0.0 → 4.0.2

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 (516) hide show
  1. package/SystemModules/amzn__react-native-gesture-handler-4.modules.txt +3 -0
  2. package/SystemModules/amzn__react-native-gesture-handler-4.private.modules.txt +81 -35
  3. package/kepler-compatibility.json +3 -1
  4. package/lib/commonjs/RNGestureHandlerModule.kepler.js.map +1 -1
  5. package/lib/commonjs/index.js +0 -268
  6. package/lib/module/RNGestureHandlerModule.kepler.js.map +1 -1
  7. package/lib/typescript/RNGestureHandlerModule.kepler.d.ts.map +1 -1
  8. package/oss-attribution/attribution.txt +0 -0
  9. package/oss-attribution/licenseInfos.json +1 -0
  10. package/package.json +1 -1
  11. package/src/index.ts +0 -168
  12. package/README.md +0 -70
  13. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.bundle +0 -14669
  14. package/SystemBundles/6340ec90c9b9f38941444b2ca176a58b9d8116a6cd975690f53747ed00595c90.map +0 -5041
  15. package/lib/commonjs/ActionType.js +0 -15
  16. package/lib/commonjs/Directions.js +0 -31
  17. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  18. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  19. package/lib/commonjs/PlatformConstants.js +0 -9
  20. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  21. package/lib/commonjs/PlatformConstants.web.js +0 -12
  22. package/lib/commonjs/PointerType.js +0 -15
  23. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  24. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -32
  25. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  26. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  27. package/lib/commonjs/RNRenderer.js +0 -14
  28. package/lib/commonjs/RNRenderer.web.js +0 -10
  29. package/lib/commonjs/State.js +0 -19
  30. package/lib/commonjs/TouchEventType.js +0 -16
  31. package/lib/commonjs/components/DrawerLayout.js +0 -548
  32. package/lib/commonjs/components/GestureButtons.js +0 -212
  33. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  34. package/lib/commonjs/components/GestureComponents.js +0 -106
  35. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  36. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  37. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  38. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  39. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  40. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  41. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  42. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  43. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  44. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  45. package/lib/commonjs/components/Pressable/index.js +0 -14
  46. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  47. package/lib/commonjs/components/Pressable/utils.js +0 -92
  48. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  49. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  50. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  51. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  52. package/lib/commonjs/components/Swipeable.js +0 -370
  53. package/lib/commonjs/components/Text.js +0 -60
  54. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  55. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  56. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  57. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  58. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  59. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  60. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  61. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  62. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  63. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  64. package/lib/commonjs/components/touchables/index.js +0 -35
  65. package/lib/commonjs/components/utils.js +0 -17
  66. package/lib/commonjs/findNodeHandle.js +0 -9
  67. package/lib/commonjs/findNodeHandle.web.js +0 -39
  68. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  69. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  70. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  71. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  72. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  73. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  74. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  75. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  76. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  77. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  78. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  79. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  80. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  81. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  82. package/lib/commonjs/handlers/createHandler.js +0 -405
  83. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  84. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  85. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  86. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  87. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  88. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  89. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  91. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  92. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  93. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  94. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  95. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  96. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  97. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  98. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  99. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  100. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  101. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  102. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  103. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  104. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  105. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  106. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  107. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  108. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  109. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  110. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  111. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  112. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  113. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  114. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  115. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  116. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  117. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  118. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  119. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  120. package/lib/commonjs/handlers/utils.js +0 -69
  121. package/lib/commonjs/init.js +0 -25
  122. package/lib/commonjs/jestUtils/index.js +0 -19
  123. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  124. package/lib/commonjs/mocks/Pressable.js +0 -13
  125. package/lib/commonjs/mocks/mocks.js +0 -70
  126. package/lib/commonjs/mocks.js +0 -61
  127. package/lib/commonjs/mountRegistry.js +0 -37
  128. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  129. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  130. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  131. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  132. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  133. package/lib/commonjs/typeUtils.js +0 -2
  134. package/lib/commonjs/utils.js +0 -95
  135. package/lib/commonjs/web/Gestures.js +0 -48
  136. package/lib/commonjs/web/constants.js +0 -9
  137. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  138. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  139. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  140. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  141. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  142. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  143. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  144. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  145. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  146. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  147. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  148. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  149. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  150. package/lib/commonjs/web/interfaces.js +0 -32
  151. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  152. package/lib/commonjs/web/tools/EventManager.js +0 -94
  153. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  154. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  155. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  156. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  157. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  158. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  159. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  160. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  161. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  162. package/lib/commonjs/web/tools/Vector.js +0 -37
  163. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  164. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  165. package/lib/commonjs/web/utils.js +0 -235
  166. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  167. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  168. package/lib/commonjs/web_hammer/Errors.js +0 -13
  169. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  170. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  171. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  172. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  173. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  174. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  175. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  176. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  177. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  178. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  179. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  180. package/lib/commonjs/web_hammer/constants.js +0 -51
  181. package/lib/commonjs/web_hammer/utils.js +0 -32
  182. package/lib/module/ActionType.js +0 -11
  183. package/lib/module/Directions.js +0 -27
  184. package/lib/module/EnableNewWebImplementation.js +0 -34
  185. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  186. package/lib/module/PlatformConstants.js +0 -5
  187. package/lib/module/PlatformConstants.kepler.js +0 -8
  188. package/lib/module/PlatformConstants.web.js +0 -8
  189. package/lib/module/PointerType.js +0 -11
  190. package/lib/module/RNGestureHandlerModule.js +0 -8
  191. package/lib/module/RNGestureHandlerModule.kepler.js +0 -26
  192. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  193. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  194. package/lib/module/RNRenderer.js +0 -6
  195. package/lib/module/RNRenderer.web.js +0 -6
  196. package/lib/module/State.js +0 -15
  197. package/lib/module/TouchEventType.js +0 -12
  198. package/lib/module/components/DrawerLayout.js +0 -541
  199. package/lib/module/components/GestureButtons.js +0 -200
  200. package/lib/module/components/GestureButtonsProps.js +0 -4
  201. package/lib/module/components/GestureComponents.js +0 -100
  202. package/lib/module/components/GestureComponents.web.js +0 -32
  203. package/lib/module/components/GestureHandlerButton.js +0 -5
  204. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  205. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  206. package/lib/module/components/GestureHandlerRootView.js +0 -29
  207. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  208. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  209. package/lib/module/components/Pressable/Pressable.js +0 -268
  210. package/lib/module/components/Pressable/PressableProps.js +0 -4
  211. package/lib/module/components/Pressable/StateMachine.js +0 -40
  212. package/lib/module/components/Pressable/index.js +0 -4
  213. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  214. package/lib/module/components/Pressable/utils.js +0 -84
  215. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  216. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  217. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  218. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  219. package/lib/module/components/Swipeable.js +0 -364
  220. package/lib/module/components/Text.js +0 -55
  221. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  222. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  223. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  224. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  225. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  226. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  227. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  228. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  229. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  230. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  231. package/lib/module/components/touchables/index.js +0 -7
  232. package/lib/module/components/utils.js +0 -13
  233. package/lib/module/findNodeHandle.js +0 -5
  234. package/lib/module/findNodeHandle.web.js +0 -35
  235. package/lib/module/getShadowNodeFromRef.js +0 -47
  236. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  237. package/lib/module/ghQueueMicrotask.js +0 -6
  238. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  239. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  240. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  241. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  242. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  243. package/lib/module/handlers/PanGestureHandler.js +0 -105
  244. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  245. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  246. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  247. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  248. package/lib/module/handlers/TapGestureHandler.js +0 -28
  249. package/lib/module/handlers/createHandler.js +0 -399
  250. package/lib/module/handlers/createNativeWrapper.js +0 -74
  251. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  252. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  253. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  254. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  255. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  256. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  257. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  258. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  259. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  260. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  261. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  262. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  263. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  264. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  265. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  266. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  267. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  268. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  269. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  270. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  271. package/lib/module/handlers/gestures/gesture.js +0 -332
  272. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  273. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  274. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  275. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  276. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  277. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  278. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  279. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  280. package/lib/module/handlers/gestures/panGesture.js +0 -192
  281. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  282. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  283. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  284. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  285. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  286. package/lib/module/handlers/handlersRegistry.js +0 -39
  287. package/lib/module/handlers/utils.js +0 -61
  288. package/lib/module/index.js +0 -31
  289. package/lib/module/init.js +0 -19
  290. package/lib/module/jestUtils/index.js +0 -4
  291. package/lib/module/jestUtils/jestUtils.js +0 -311
  292. package/lib/module/mocks/Pressable.js +0 -4
  293. package/lib/module/mocks/mocks.js +0 -64
  294. package/lib/module/mocks.js +0 -57
  295. package/lib/module/mountRegistry.js +0 -32
  296. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  297. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  298. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  299. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  300. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  301. package/lib/module/typeUtils.js +0 -2
  302. package/lib/module/utils.js +0 -81
  303. package/lib/module/web/Gestures.js +0 -42
  304. package/lib/module/web/constants.js +0 -5
  305. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  306. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  307. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  308. package/lib/module/web/handlers/GestureHandler.js +0 -682
  309. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  310. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  311. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  312. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  313. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  314. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  315. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  316. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  317. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  318. package/lib/module/web/interfaces.js +0 -28
  319. package/lib/module/web/tools/CircularBuffer.js +0 -35
  320. package/lib/module/web/tools/EventManager.js +0 -89
  321. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  322. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  323. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  324. package/lib/module/web/tools/InteractionManager.js +0 -91
  325. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  326. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  327. package/lib/module/web/tools/NodeManager.js +0 -34
  328. package/lib/module/web/tools/PointerEventManager.js +0 -183
  329. package/lib/module/web/tools/PointerTracker.js +0 -186
  330. package/lib/module/web/tools/Vector.js +0 -32
  331. package/lib/module/web/tools/VelocityTracker.js +0 -79
  332. package/lib/module/web/tools/WheelEventManager.js +0 -49
  333. package/lib/module/web/utils.js +0 -223
  334. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  335. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  336. package/lib/module/web_hammer/Errors.js +0 -8
  337. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  338. package/lib/module/web_hammer/GestureHandler.js +0 -478
  339. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  340. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  341. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  342. package/lib/module/web_hammer/NodeManager.js +0 -33
  343. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  344. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  345. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  346. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  347. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  348. package/lib/module/web_hammer/constants.js +0 -46
  349. package/lib/module/web_hammer/utils.js +0 -21
  350. package/src/ActionType.ts +0 -9
  351. package/src/Directions.ts +0 -26
  352. package/src/EnableNewWebImplementation.ts +0 -53
  353. package/src/GestureHandlerRootViewContext.ts +0 -3
  354. package/src/PlatformConstants.kepler.ts +0 -5
  355. package/src/PlatformConstants.ts +0 -8
  356. package/src/PlatformConstants.web.ts +0 -5
  357. package/src/PointerType.ts +0 -7
  358. package/src/RNGestureHandlerModule.kepler.ts +0 -64
  359. package/src/RNGestureHandlerModule.ts +0 -5
  360. package/src/RNGestureHandlerModule.web.ts +0 -124
  361. package/src/RNGestureHandlerModule.windows.ts +0 -62
  362. package/src/RNRenderer.ts +0 -3
  363. package/src/RNRenderer.web.ts +0 -3
  364. package/src/State.ts +0 -13
  365. package/src/TouchEventType.ts +0 -11
  366. package/src/components/DrawerLayout.tsx +0 -788
  367. package/src/components/GestureButtons.tsx +0 -272
  368. package/src/components/GestureButtonsProps.ts +0 -156
  369. package/src/components/GestureComponents.tsx +0 -148
  370. package/src/components/GestureComponents.web.tsx +0 -41
  371. package/src/components/GestureHandlerButton.tsx +0 -5
  372. package/src/components/GestureHandlerButton.web.tsx +0 -6
  373. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  374. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  375. package/src/components/GestureHandlerRootView.tsx +0 -28
  376. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  377. package/src/components/Pressable/Pressable.tsx +0 -401
  378. package/src/components/Pressable/PressableProps.tsx +0 -174
  379. package/src/components/Pressable/StateMachine.tsx +0 -57
  380. package/src/components/Pressable/index.ts +0 -5
  381. package/src/components/Pressable/stateDefinitions.ts +0 -126
  382. package/src/components/Pressable/utils.ts +0 -140
  383. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  384. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  385. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  386. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  387. package/src/components/Swipeable.tsx +0 -595
  388. package/src/components/Text.tsx +0 -77
  389. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  390. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  391. package/src/components/touchables/GenericTouchable.tsx +0 -275
  392. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  393. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  394. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  395. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  396. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  397. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  398. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  399. package/src/components/touchables/index.ts +0 -7
  400. package/src/components/utils.ts +0 -26
  401. package/src/findNodeHandle.ts +0 -3
  402. package/src/findNodeHandle.web.ts +0 -41
  403. package/src/getShadowNodeFromRef.ts +0 -50
  404. package/src/getShadowNodeFromRef.web.ts +0 -7
  405. package/src/ghQueueMicrotask.ts +0 -8
  406. package/src/handlers/FlingGestureHandler.ts +0 -64
  407. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  408. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  409. package/src/handlers/LongPressGestureHandler.ts +0 -65
  410. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  411. package/src/handlers/PanGestureHandler.ts +0 -282
  412. package/src/handlers/PinchGestureHandler.ts +0 -32
  413. package/src/handlers/PressabilityDebugView.tsx +0 -2
  414. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  415. package/src/handlers/RotationGestureHandler.ts +0 -32
  416. package/src/handlers/TapGestureHandler.ts +0 -99
  417. package/src/handlers/createHandler.tsx +0 -586
  418. package/src/handlers/createNativeWrapper.tsx +0 -89
  419. package/src/handlers/customDirectEventTypes.ts +0 -2
  420. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  421. package/src/handlers/gestureHandlerCommon.ts +0 -211
  422. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  423. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  424. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  425. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  426. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  427. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  428. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  429. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  430. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  431. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  432. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  433. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  434. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  435. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  436. package/src/handlers/gestures/eventReceiver.ts +0 -173
  437. package/src/handlers/gestures/flingGesture.ts +0 -36
  438. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  439. package/src/handlers/gestures/gesture.ts +0 -472
  440. package/src/handlers/gestures/gestureComposition.ts +0 -124
  441. package/src/handlers/gestures/gestureObjects.ts +0 -143
  442. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  443. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  444. package/src/handlers/gestures/hoverGesture.ts +0 -77
  445. package/src/handlers/gestures/longPressGesture.ts +0 -45
  446. package/src/handlers/gestures/manualGesture.ts +0 -31
  447. package/src/handlers/gestures/nativeGesture.ts +0 -33
  448. package/src/handlers/gestures/panGesture.ts +0 -221
  449. package/src/handlers/gestures/pinchGesture.ts +0 -51
  450. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  451. package/src/handlers/gestures/rotationGesture.ts +0 -51
  452. package/src/handlers/gestures/tapGesture.ts +0 -86
  453. package/src/handlers/getNextHandlerTag.ts +0 -5
  454. package/src/handlers/handlersRegistry.ts +0 -58
  455. package/src/handlers/utils.ts +0 -76
  456. package/src/init.ts +0 -18
  457. package/src/jestUtils/index.ts +0 -1
  458. package/src/jestUtils/jestUtils.ts +0 -513
  459. package/src/mocks/Pressable.tsx +0 -1
  460. package/src/mocks/mocks.tsx +0 -70
  461. package/src/mocks.ts +0 -67
  462. package/src/mountRegistry.ts +0 -51
  463. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  464. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  465. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  466. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  467. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  468. package/src/typeUtils.ts +0 -1
  469. package/src/utils.ts +0 -107
  470. package/src/web/Gestures.ts +0 -41
  471. package/src/web/constants.ts +0 -2
  472. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  473. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  474. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  475. package/src/web/handlers/GestureHandler.ts +0 -881
  476. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  477. package/src/web/handlers/IGestureHandler.ts +0 -49
  478. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  479. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  480. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  481. package/src/web/handlers/PanGestureHandler.ts +0 -571
  482. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  483. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  484. package/src/web/handlers/TapGestureHandler.ts +0 -274
  485. package/src/web/interfaces.ts +0 -190
  486. package/src/web/tools/CircularBuffer.ts +0 -42
  487. package/src/web/tools/EventManager.ts +0 -108
  488. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  489. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  490. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  491. package/src/web/tools/InteractionManager.ts +0 -135
  492. package/src/web/tools/KeyboardEventManager.ts +0 -133
  493. package/src/web/tools/LeastSquareSolver.ts +0 -182
  494. package/src/web/tools/NodeManager.ts +0 -48
  495. package/src/web/tools/PointerEventManager.ts +0 -226
  496. package/src/web/tools/PointerTracker.ts +0 -228
  497. package/src/web/tools/Vector.ts +0 -59
  498. package/src/web/tools/VelocityTracker.ts +0 -98
  499. package/src/web/tools/WheelEventManager.ts +0 -48
  500. package/src/web/utils.ts +0 -293
  501. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  502. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  503. package/src/web_hammer/Errors.ts +0 -7
  504. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  505. package/src/web_hammer/GestureHandler.ts +0 -600
  506. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  507. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  508. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  509. package/src/web_hammer/NodeManager.ts +0 -33
  510. package/src/web_hammer/PanGestureHandler.ts +0 -226
  511. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  512. package/src/web_hammer/PressGestureHandler.ts +0 -170
  513. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  514. package/src/web_hammer/TapGestureHandler.ts +0 -172
  515. package/src/web_hammer/constants.ts +0 -48
  516. package/src/web_hammer/utils.ts +0 -24
@@ -1,227 +0,0 @@
1
- import findNodeHandle from '../../findNodeHandle';
2
- import type IGestureHandler from '../handlers/IGestureHandler';
3
- import {
4
- GestureHandlerDelegate,
5
- MeasureResult,
6
- } from './GestureHandlerDelegate';
7
- import PointerEventManager from './PointerEventManager';
8
- import { State } from '../../State';
9
- import { isPointerInBounds } from '../utils';
10
- import EventManager from './EventManager';
11
- import { Config } from '../interfaces';
12
- import { MouseButton } from '../../handlers/gestureHandlerCommon';
13
- import KeyboardEventManager from './KeyboardEventManager';
14
- import WheelEventManager from './WheelEventManager';
15
-
16
- interface DefaultViewStyles {
17
- userSelect: string;
18
- touchAction: string;
19
- }
20
-
21
- export class GestureHandlerWebDelegate
22
- implements GestureHandlerDelegate<HTMLElement, IGestureHandler>
23
- {
24
- private isInitialized = false;
25
- private _view!: HTMLElement;
26
-
27
- private gestureHandler!: IGestureHandler;
28
- private eventManagers: EventManager<unknown>[] = [];
29
- private defaultViewStyles: DefaultViewStyles = {
30
- userSelect: '',
31
- touchAction: '',
32
- };
33
-
34
- init(viewRef: number, handler: IGestureHandler): void {
35
- if (!viewRef) {
36
- throw new Error(
37
- `Cannot find HTML Element for handler ${handler.handlerTag}`
38
- );
39
- }
40
-
41
- this.isInitialized = true;
42
-
43
- this.gestureHandler = handler;
44
- this.view = findNodeHandle(viewRef) as unknown as HTMLElement;
45
-
46
- this.defaultViewStyles = {
47
- userSelect: this.view.style.userSelect,
48
- touchAction: this.view.style.touchAction,
49
- };
50
-
51
- const config = handler.config;
52
-
53
- this.setUserSelect(config.enabled);
54
- this.setTouchAction(config.enabled);
55
- this.setContextMenu(config.enabled);
56
-
57
- this.eventManagers.push(new PointerEventManager(this.view));
58
- this.eventManagers.push(new KeyboardEventManager(this.view));
59
- this.eventManagers.push(new WheelEventManager(this.view));
60
-
61
- this.eventManagers.forEach((manager) =>
62
- this.gestureHandler.attachEventManager(manager)
63
- );
64
- }
65
-
66
- isPointerInBounds({ x, y }: { x: number; y: number }): boolean {
67
- return isPointerInBounds(this.view, { x, y });
68
- }
69
-
70
- measureView(): MeasureResult {
71
- const rect = this.view.getBoundingClientRect();
72
-
73
- return {
74
- pageX: rect.left,
75
- pageY: rect.top,
76
- width: rect.width,
77
- height: rect.height,
78
- };
79
- }
80
-
81
- reset(): void {
82
- this.eventManagers.forEach((manager: EventManager<unknown>) =>
83
- manager.resetManager()
84
- );
85
- }
86
-
87
- tryResetCursor() {
88
- const config = this.gestureHandler.config;
89
-
90
- if (
91
- config.activeCursor &&
92
- config.activeCursor !== 'auto' &&
93
- this.gestureHandler.state === State.ACTIVE
94
- ) {
95
- this.view.style.cursor = 'auto';
96
- }
97
- }
98
-
99
- private shouldDisableContextMenu(config: Config) {
100
- return (
101
- (config.enableContextMenu === undefined &&
102
- this.gestureHandler.isButtonInConfig(MouseButton.RIGHT)) ||
103
- config.enableContextMenu === false
104
- );
105
- }
106
-
107
- private addContextMenuListeners(config: Config): void {
108
- if (this.shouldDisableContextMenu(config)) {
109
- this.view.addEventListener('contextmenu', this.disableContextMenu);
110
- } else if (config.enableContextMenu) {
111
- this.view.addEventListener('contextmenu', this.enableContextMenu);
112
- }
113
- }
114
-
115
- private removeContextMenuListeners(config: Config): void {
116
- if (this.shouldDisableContextMenu(config)) {
117
- this.view.removeEventListener('contextmenu', this.disableContextMenu);
118
- } else if (config.enableContextMenu) {
119
- this.view.removeEventListener('contextmenu', this.enableContextMenu);
120
- }
121
- }
122
-
123
- private disableContextMenu(this: void, e: MouseEvent): void {
124
- e.preventDefault();
125
- }
126
-
127
- private enableContextMenu(this: void, e: MouseEvent): void {
128
- e.stopPropagation();
129
- }
130
-
131
- private setUserSelect(isHandlerEnabled: boolean) {
132
- const { userSelect } = this.gestureHandler.config;
133
-
134
- this.view.style['userSelect'] = isHandlerEnabled
135
- ? (userSelect ?? 'none')
136
- : this.defaultViewStyles.userSelect;
137
-
138
- this.view.style['webkitUserSelect'] = isHandlerEnabled
139
- ? (userSelect ?? 'none')
140
- : this.defaultViewStyles.userSelect;
141
- }
142
-
143
- private setTouchAction(isHandlerEnabled: boolean) {
144
- const { touchAction } = this.gestureHandler.config;
145
-
146
- this.view.style['touchAction'] = isHandlerEnabled
147
- ? (touchAction ?? 'none')
148
- : this.defaultViewStyles.touchAction;
149
-
150
- // @ts-ignore This one disables default events on Safari
151
- this.view.style['WebkitTouchCallout'] = isHandlerEnabled
152
- ? (touchAction ?? 'none')
153
- : this.defaultViewStyles.touchAction;
154
- }
155
-
156
- private setContextMenu(isHandlerEnabled: boolean) {
157
- const config = this.gestureHandler.config;
158
-
159
- if (isHandlerEnabled) {
160
- this.addContextMenuListeners(config);
161
- } else {
162
- this.removeContextMenuListeners(config);
163
- }
164
- }
165
-
166
- onEnabledChange(enabled: boolean): void {
167
- if (!this.isInitialized) {
168
- return;
169
- }
170
-
171
- this.setUserSelect(enabled);
172
- this.setTouchAction(enabled);
173
- this.setContextMenu(enabled);
174
-
175
- if (enabled) {
176
- this.eventManagers.forEach((manager) => {
177
- manager.registerListeners();
178
- });
179
- } else {
180
- this.eventManagers.forEach((manager) => {
181
- manager.unregisterListeners();
182
- });
183
- }
184
- }
185
-
186
- onBegin(): void {
187
- // no-op for now
188
- }
189
-
190
- onActivate(): void {
191
- const config = this.gestureHandler.config;
192
-
193
- if (
194
- (!this.view.style.cursor || this.view.style.cursor === 'auto') &&
195
- config.activeCursor
196
- ) {
197
- this.view.style.cursor = config.activeCursor;
198
- }
199
- }
200
-
201
- onEnd(): void {
202
- this.tryResetCursor();
203
- }
204
-
205
- onCancel(): void {
206
- this.tryResetCursor();
207
- }
208
-
209
- onFail(): void {
210
- this.tryResetCursor();
211
- }
212
-
213
- public destroy(config: Config): void {
214
- this.removeContextMenuListeners(config);
215
-
216
- this.eventManagers.forEach((manager) => {
217
- manager.unregisterListeners();
218
- });
219
- }
220
-
221
- public get view() {
222
- return this._view;
223
- }
224
- public set view(value: HTMLElement) {
225
- this._view = value;
226
- }
227
- }
@@ -1,135 +0,0 @@
1
- import type IGestureHandler from '../handlers/IGestureHandler';
2
- import { Config, Handler } from '../interfaces';
3
-
4
- export default class InteractionManager {
5
- private static _instance: InteractionManager;
6
- private readonly waitForRelations: Map<number, number[]> = new Map();
7
- private readonly simultaneousRelations: Map<number, number[]> = new Map();
8
- private readonly blocksHandlersRelations: Map<number, number[]> = new Map();
9
-
10
- // Private becaues of singleton
11
- // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function
12
- private constructor() {}
13
-
14
- public configureInteractions(handler: IGestureHandler, config: Config) {
15
- this.dropRelationsForHandlerWithTag(handler.handlerTag);
16
-
17
- if (config.waitFor) {
18
- const waitFor: number[] = [];
19
- config.waitFor.forEach((otherHandler: Handler): void => {
20
- // New API reference
21
- if (typeof otherHandler === 'number') {
22
- waitFor.push(otherHandler);
23
- } else {
24
- // Old API reference
25
- waitFor.push(otherHandler.handlerTag);
26
- }
27
- });
28
-
29
- this.waitForRelations.set(handler.handlerTag, waitFor);
30
- }
31
-
32
- if (config.simultaneousHandlers) {
33
- const simultaneousHandlers: number[] = [];
34
- config.simultaneousHandlers.forEach((otherHandler: Handler): void => {
35
- if (typeof otherHandler === 'number') {
36
- simultaneousHandlers.push(otherHandler);
37
- } else {
38
- simultaneousHandlers.push(otherHandler.handlerTag);
39
- }
40
- });
41
-
42
- this.simultaneousRelations.set(handler.handlerTag, simultaneousHandlers);
43
- }
44
-
45
- if (config.blocksHandlers) {
46
- const blocksHandlers: number[] = [];
47
- config.blocksHandlers.forEach((otherHandler: Handler): void => {
48
- if (typeof otherHandler === 'number') {
49
- blocksHandlers.push(otherHandler);
50
- } else {
51
- blocksHandlers.push(otherHandler.handlerTag);
52
- }
53
- });
54
-
55
- this.blocksHandlersRelations.set(handler.handlerTag, blocksHandlers);
56
- }
57
- }
58
-
59
- public shouldWaitForHandlerFailure(
60
- handler: IGestureHandler,
61
- otherHandler: IGestureHandler
62
- ): boolean {
63
- const waitFor: number[] | undefined = this.waitForRelations.get(
64
- handler.handlerTag
65
- );
66
-
67
- return (
68
- waitFor?.find((tag: number) => {
69
- return tag === otherHandler.handlerTag;
70
- }) !== undefined
71
- );
72
- }
73
-
74
- public shouldRecognizeSimultaneously(
75
- handler: IGestureHandler,
76
- otherHandler: IGestureHandler
77
- ): boolean {
78
- const simultaneousHandlers: number[] | undefined =
79
- this.simultaneousRelations.get(handler.handlerTag);
80
-
81
- return (
82
- simultaneousHandlers?.find((tag: number) => {
83
- return tag === otherHandler.handlerTag;
84
- }) !== undefined
85
- );
86
- }
87
-
88
- public shouldRequireHandlerToWaitForFailure(
89
- handler: IGestureHandler,
90
- otherHandler: IGestureHandler
91
- ): boolean {
92
- const waitFor: number[] | undefined = this.blocksHandlersRelations.get(
93
- handler.handlerTag
94
- );
95
-
96
- return (
97
- waitFor?.find((tag: number) => {
98
- return tag === otherHandler.handlerTag;
99
- }) !== undefined
100
- );
101
- }
102
-
103
- public shouldHandlerBeCancelledBy(
104
- _handler: IGestureHandler,
105
- otherHandler: IGestureHandler
106
- ): boolean {
107
- // We check constructor name instead of using `instanceof` in order do avoid circular dependencies
108
- const isNativeHandler =
109
- otherHandler.constructor.name === 'NativeViewGestureHandler';
110
- const isActive = otherHandler.active;
111
- const isButton = otherHandler.isButton?.() === true;
112
-
113
- return isNativeHandler && isActive && !isButton;
114
- }
115
-
116
- public dropRelationsForHandlerWithTag(handlerTag: number): void {
117
- this.waitForRelations.delete(handlerTag);
118
- this.simultaneousRelations.delete(handlerTag);
119
- this.blocksHandlersRelations.delete(handlerTag);
120
- }
121
-
122
- public reset() {
123
- this.waitForRelations.clear();
124
- this.simultaneousRelations.clear();
125
- this.blocksHandlersRelations.clear();
126
- }
127
-
128
- public static get instance(): InteractionManager {
129
- if (!this._instance) {
130
- this._instance = new InteractionManager();
131
- }
132
-
133
- return this._instance;
134
- }
135
- }
@@ -1,133 +0,0 @@
1
- import { AdaptedEvent, EventTypes } from '../interfaces';
2
- import EventManager from './EventManager';
3
- import { PointerType } from '../../PointerType';
4
-
5
- export default class KeyboardEventManager extends EventManager<HTMLElement> {
6
- private static activationKeys = ['Enter', ' '];
7
- private static cancelationKeys = ['Tab'];
8
- private isPressed = false;
9
- private static registeredStaticListeners = false;
10
- private static instances: Set<KeyboardEventManager> = new Set();
11
-
12
- private static keyUpStaticCallback = (event: KeyboardEvent): void => {
13
- // We need a global listener, as in some cases, keyUp event gets stop-propagated.
14
- // Then, if we used only component-level listeners the gesture would never end,
15
- // causing other gestues to fail.
16
-
17
- if (this.activationKeys.indexOf(event.key) === -1) {
18
- return;
19
- }
20
-
21
- this.instances.forEach((item) => {
22
- item.onKeyUp(event);
23
- });
24
- };
25
-
26
- private keyDownCallback = (event: KeyboardEvent): void => {
27
- if (
28
- KeyboardEventManager.cancelationKeys.indexOf(event.key) !== -1 &&
29
- this.isPressed
30
- ) {
31
- this.dispatchEvent(event, EventTypes.CANCEL);
32
- return;
33
- }
34
-
35
- if (KeyboardEventManager.activationKeys.indexOf(event.key) === -1) {
36
- return;
37
- }
38
-
39
- this.dispatchEvent(event, EventTypes.DOWN);
40
- };
41
-
42
- private onKeyUp = (event: KeyboardEvent): void => {
43
- if (
44
- KeyboardEventManager.activationKeys.indexOf(event.key) === -1 ||
45
- !this.isPressed
46
- ) {
47
- return;
48
- }
49
-
50
- this.dispatchEvent(event, EventTypes.UP);
51
- };
52
-
53
- private dispatchEvent(event: KeyboardEvent, eventType: EventTypes) {
54
- if (!(event.target instanceof HTMLElement)) {
55
- return;
56
- }
57
-
58
- const adaptedEvent = this.mapEvent(event, eventType);
59
-
60
- switch (eventType) {
61
- case EventTypes.UP:
62
- this.isPressed = false;
63
- this.onPointerUp(adaptedEvent);
64
- break;
65
- case EventTypes.DOWN:
66
- this.isPressed = true;
67
- this.onPointerDown(adaptedEvent);
68
- break;
69
- case EventTypes.CANCEL:
70
- this.isPressed = false;
71
- this.onPointerCancel(adaptedEvent);
72
- break;
73
- }
74
- }
75
-
76
- public registerListeners(): void {
77
- this.view.addEventListener('keydown', this.keyDownCallback);
78
-
79
- KeyboardEventManager.instances.add(this);
80
-
81
- if (!KeyboardEventManager.registeredStaticListeners) {
82
- KeyboardEventManager.registeredStaticListeners = true;
83
- document.addEventListener(
84
- 'keyup',
85
- KeyboardEventManager.keyUpStaticCallback,
86
- { capture: true }
87
- );
88
- }
89
- }
90
-
91
- public unregisterListeners(): void {
92
- this.view.removeEventListener('keydown', this.keyDownCallback);
93
-
94
- KeyboardEventManager.instances.delete(this);
95
-
96
- if (KeyboardEventManager.instances.size === 0) {
97
- document.removeEventListener(
98
- 'keyup',
99
- KeyboardEventManager.keyUpStaticCallback,
100
- { capture: true }
101
- );
102
- KeyboardEventManager.registeredStaticListeners = false;
103
- }
104
- }
105
-
106
- protected mapEvent(
107
- event: KeyboardEvent,
108
- eventType: EventTypes
109
- ): AdaptedEvent {
110
- const viewRect = (event.target as HTMLElement).getBoundingClientRect();
111
-
112
- const viewportPosition = {
113
- x: viewRect?.x + viewRect?.width / 2,
114
- y: viewRect?.y + viewRect?.height / 2,
115
- };
116
-
117
- const relativePosition = {
118
- x: viewRect?.width / 2,
119
- y: viewRect?.height / 2,
120
- };
121
-
122
- return {
123
- x: viewportPosition.x,
124
- y: viewportPosition.y,
125
- offsetX: relativePosition.x,
126
- offsetY: relativePosition.y,
127
- pointerId: 0,
128
- eventType: eventType,
129
- pointerType: PointerType.KEY,
130
- time: event.timeStamp,
131
- };
132
- }
133
- }
@@ -1,182 +0,0 @@
1
- // Implementation taken from Flutter's LeastSquareSolver
2
- // https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/gestures/lsq_solver.dart
3
-
4
- class Vector {
5
- private offset: number;
6
- private length: number;
7
- private elements: number[];
8
-
9
- constructor(length: number) {
10
- this.offset = 0;
11
- this.length = length;
12
- this.elements = new Array<number>(length);
13
- }
14
-
15
- public static fromVOL(
16
- values: number[],
17
- offset: number,
18
- length: number
19
- ): Vector {
20
- const result = new Vector(0);
21
-
22
- result.offset = offset;
23
- result.length = length;
24
- result.elements = values;
25
-
26
- return result;
27
- }
28
-
29
- public get(index: number): number {
30
- return this.elements[this.offset + index];
31
- }
32
-
33
- public set(index: number, value: number): void {
34
- this.elements[this.offset + index] = value;
35
- }
36
-
37
- public dot(other: Vector): number {
38
- let result = 0;
39
- for (let i = 0; i < this.length; i++) {
40
- result += this.get(i) * other.get(i);
41
- }
42
- return result;
43
- }
44
-
45
- public norm() {
46
- return Math.sqrt(this.dot(this));
47
- }
48
- }
49
-
50
- class Matrix {
51
- private columns: number;
52
- private elements: number[];
53
-
54
- constructor(rows: number, columns: number) {
55
- this.columns = columns;
56
- this.elements = new Array<number>(rows * columns);
57
- }
58
-
59
- public get(row: number, column: number): number {
60
- return this.elements[row * this.columns + column];
61
- }
62
-
63
- public set(row: number, column: number, value: number): void {
64
- this.elements[row * this.columns + column] = value;
65
- }
66
-
67
- public getRow(row: number): Vector {
68
- return Vector.fromVOL(this.elements, row * this.columns, this.columns);
69
- }
70
- }
71
-
72
- // An nth degree polynomial fit to a dataset.
73
- class PolynomialFit {
74
- // The polynomial coefficients of the fit.
75
- //
76
- // For each `i`, the element `coefficients[i]` is the coefficient of
77
- // the `i`-th power of the variable.
78
- public coefficients: number[];
79
-
80
- // Creates a polynomial fit of the given degree.
81
- //
82
- // There are n + 1 coefficients in a fit of degree n.
83
- constructor(degree: number) {
84
- this.coefficients = new Array<number>(degree + 1);
85
- }
86
- }
87
-
88
- const precisionErrorTolerance = 1e-10;
89
-
90
- // Uses the least-squares algorithm to fit a polynomial to a set of data.
91
- export default class LeastSquareSolver {
92
- // The x-coordinates of each data point.
93
- private x: number[];
94
- // The y-coordinates of each data point.
95
- private y: number[];
96
- // The weight to use for each data point.
97
- private w: number[];
98
-
99
- // Creates a least-squares solver.
100
- //
101
- // The [x], [y], and [w] arguments must not be null.
102
- constructor(x: number[], y: number[], w: number[]) {
103
- this.x = x;
104
- this.y = y;
105
- this.w = w;
106
- }
107
-
108
- // Fits a polynomial of the given degree to the data points.
109
- //
110
- // When there is not enough data to fit a curve null is returned.
111
- public solve(degree: number): PolynomialFit | null {
112
- if (degree > this.x.length) {
113
- // Not enough data to fit a curve.
114
- return null;
115
- }
116
-
117
- const result = new PolynomialFit(degree);
118
-
119
- // Shorthands for the purpose of notation equivalence to original C++ code.
120
- const m = this.x.length;
121
- const n = degree + 1;
122
-
123
- // Expand the X vector to a matrix A, pre-multiplied by the weights.
124
- const a = new Matrix(n, m);
125
- for (let h = 0; h < m; h++) {
126
- a.set(0, h, this.w[h]);
127
-
128
- for (let i = 1; i < n; i++) {
129
- a.set(i, h, a.get(i - 1, h) * this.x[h]);
130
- }
131
- }
132
-
133
- // Apply the Gram-Schmidt process to A to obtain its QR decomposition.
134
-
135
- // Orthonormal basis, column-major ordVectorer.
136
- const q = new Matrix(n, m);
137
- // Upper triangular matrix, row-major order.
138
- const r = new Matrix(n, m);
139
-
140
- for (let j = 0; j < n; j += 1) {
141
- for (let h = 0; h < m; h += 1) {
142
- q.set(j, h, a.get(j, h));
143
- }
144
- for (let i = 0; i < j; i += 1) {
145
- const dot = q.getRow(j).dot(q.getRow(i));
146
- for (let h = 0; h < m; h += 1) {
147
- q.set(j, h, q.get(j, h) - dot * q.get(i, h));
148
- }
149
- }
150
-
151
- const norm = q.getRow(j).norm();
152
- if (norm < precisionErrorTolerance) {
153
- // Vectors are linearly dependent or zero so no solution.
154
- return null;
155
- }
156
-
157
- const inverseNorm = 1.0 / norm;
158
- for (let h = 0; h < m; h += 1) {
159
- q.set(j, h, q.get(j, h) * inverseNorm);
160
- }
161
- for (let i = 0; i < n; i += 1) {
162
- r.set(j, i, i < j ? 0.0 : q.getRow(j).dot(a.getRow(i)));
163
- }
164
- }
165
-
166
- // Solve R B = Qt W Y to find B. This is easy because R is upper triangular.
167
- // We just work from bottom-right to top-left calculating B's coefficients.
168
- const wy = new Vector(m);
169
- for (let h = 0; h < m; h += 1) {
170
- wy.set(h, this.y[h] * this.w[h]);
171
- }
172
- for (let i = n - 1; i >= 0; i -= 1) {
173
- result.coefficients[i] = q.getRow(i).dot(wy);
174
- for (let j = n - 1; j > i; j -= 1) {
175
- result.coefficients[i] -= r.get(i, j) * result.coefficients[j];
176
- }
177
- result.coefficients[i] /= r.get(i, i);
178
- }
179
-
180
- return result;
181
- }
182
- }