@amazon-devices/react-native-gesture-handler 4.0.1 → 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 (507) hide show
  1. package/kepler-compatibility.json +2 -1
  2. package/lib/commonjs/index.js +0 -268
  3. package/package.json +1 -1
  4. package/src/index.ts +0 -168
  5. package/README.md +0 -70
  6. package/lib/commonjs/ActionType.js +0 -15
  7. package/lib/commonjs/Directions.js +0 -31
  8. package/lib/commonjs/EnableNewWebImplementation.js +0 -40
  9. package/lib/commonjs/GestureHandlerRootViewContext.js +0 -10
  10. package/lib/commonjs/PlatformConstants.js +0 -9
  11. package/lib/commonjs/PlatformConstants.kepler.js +0 -12
  12. package/lib/commonjs/PlatformConstants.web.js +0 -12
  13. package/lib/commonjs/PointerType.js +0 -15
  14. package/lib/commonjs/RNGestureHandlerModule.js +0 -12
  15. package/lib/commonjs/RNGestureHandlerModule.kepler.js +0 -29
  16. package/lib/commonjs/RNGestureHandlerModule.web.js +0 -95
  17. package/lib/commonjs/RNGestureHandlerModule.windows.js +0 -56
  18. package/lib/commonjs/RNRenderer.js +0 -14
  19. package/lib/commonjs/RNRenderer.web.js +0 -10
  20. package/lib/commonjs/State.js +0 -19
  21. package/lib/commonjs/TouchEventType.js +0 -16
  22. package/lib/commonjs/components/DrawerLayout.js +0 -548
  23. package/lib/commonjs/components/GestureButtons.js +0 -212
  24. package/lib/commonjs/components/GestureButtonsProps.js +0 -6
  25. package/lib/commonjs/components/GestureComponents.js +0 -106
  26. package/lib/commonjs/components/GestureComponents.web.js +0 -39
  27. package/lib/commonjs/components/GestureHandlerButton.js +0 -10
  28. package/lib/commonjs/components/GestureHandlerButton.web.js +0 -16
  29. package/lib/commonjs/components/GestureHandlerRootView.android.js +0 -36
  30. package/lib/commonjs/components/GestureHandlerRootView.js +0 -35
  31. package/lib/commonjs/components/GestureHandlerRootView.kepler.js +0 -21
  32. package/lib/commonjs/components/GestureHandlerRootView.web.js +0 -30
  33. package/lib/commonjs/components/Pressable/Pressable.js +0 -274
  34. package/lib/commonjs/components/Pressable/PressableProps.js +0 -6
  35. package/lib/commonjs/components/Pressable/StateMachine.js +0 -44
  36. package/lib/commonjs/components/Pressable/index.js +0 -14
  37. package/lib/commonjs/components/Pressable/stateDefinitions.js +0 -88
  38. package/lib/commonjs/components/Pressable/utils.js +0 -92
  39. package/lib/commonjs/components/ReanimatedDrawerLayout.js +0 -357
  40. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -337
  41. package/lib/commonjs/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -12
  42. package/lib/commonjs/components/ReanimatedSwipeable/index.js +0 -21
  43. package/lib/commonjs/components/Swipeable.js +0 -370
  44. package/lib/commonjs/components/Text.js +0 -60
  45. package/lib/commonjs/components/gestureHandlerRootHOC.js +0 -37
  46. package/lib/commonjs/components/touchables/ExtraButtonProps.js +0 -2
  47. package/lib/commonjs/components/touchables/GenericTouchable.js +0 -245
  48. package/lib/commonjs/components/touchables/GenericTouchableProps.js +0 -6
  49. package/lib/commonjs/components/touchables/TouchableHighlight.js +0 -93
  50. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +0 -84
  51. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +0 -13
  52. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js +0 -6
  53. package/lib/commonjs/components/touchables/TouchableOpacity.js +0 -65
  54. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +0 -33
  55. package/lib/commonjs/components/touchables/index.js +0 -35
  56. package/lib/commonjs/components/utils.js +0 -17
  57. package/lib/commonjs/findNodeHandle.js +0 -9
  58. package/lib/commonjs/findNodeHandle.web.js +0 -39
  59. package/lib/commonjs/getShadowNodeFromRef.js +0 -51
  60. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -14
  61. package/lib/commonjs/ghQueueMicrotask.js +0 -10
  62. package/lib/commonjs/handlers/FlingGestureHandler.js +0 -31
  63. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +0 -46
  64. package/lib/commonjs/handlers/GestureHandlerEventPayload.js +0 -6
  65. package/lib/commonjs/handlers/LongPressGestureHandler.js +0 -33
  66. package/lib/commonjs/handlers/NativeViewGestureHandler.js +0 -32
  67. package/lib/commonjs/handlers/PanGestureHandler.js +0 -112
  68. package/lib/commonjs/handlers/PinchGestureHandler.js +0 -29
  69. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -13
  70. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -11
  71. package/lib/commonjs/handlers/RotationGestureHandler.js +0 -29
  72. package/lib/commonjs/handlers/TapGestureHandler.js +0 -33
  73. package/lib/commonjs/handlers/createHandler.js +0 -405
  74. package/lib/commonjs/handlers/createNativeWrapper.js +0 -77
  75. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -13
  76. package/lib/commonjs/handlers/customDirectEventTypes.web.js +0 -10
  77. package/lib/commonjs/handlers/gestureHandlerCommon.js +0 -27
  78. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +0 -6
  79. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +0 -32
  80. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +0 -41
  81. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +0 -67
  82. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +0 -20
  83. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +0 -125
  84. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -22
  85. package/lib/commonjs/handlers/gestures/GestureDetector/types.js +0 -6
  86. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +0 -66
  87. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -143
  88. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -47
  89. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +0 -41
  90. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -45
  91. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +0 -143
  92. package/lib/commonjs/handlers/gestures/eventReceiver.js +0 -117
  93. package/lib/commonjs/handlers/gestures/flingGesture.js +0 -37
  94. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +0 -80
  95. package/lib/commonjs/handlers/gestures/gesture.js +0 -338
  96. package/lib/commonjs/handlers/gestures/gestureComposition.js +0 -90
  97. package/lib/commonjs/handlers/gestures/gestureObjects.js +0 -132
  98. package/lib/commonjs/handlers/gestures/gestureStateManager.js +0 -70
  99. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +0 -28
  100. package/lib/commonjs/handlers/gestures/hoverGesture.js +0 -57
  101. package/lib/commonjs/handlers/gestures/longPressGesture.js +0 -46
  102. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -25
  103. package/lib/commonjs/handlers/gestures/nativeGesture.js +0 -34
  104. package/lib/commonjs/handlers/gestures/panGesture.js +0 -197
  105. package/lib/commonjs/handlers/gestures/pinchGesture.js +0 -38
  106. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +0 -29
  107. package/lib/commonjs/handlers/gestures/rotationGesture.js +0 -38
  108. package/lib/commonjs/handlers/gestures/tapGesture.js +0 -87
  109. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -11
  110. package/lib/commonjs/handlers/handlersRegistry.js +0 -50
  111. package/lib/commonjs/handlers/utils.js +0 -69
  112. package/lib/commonjs/init.js +0 -25
  113. package/lib/commonjs/jestUtils/index.js +0 -19
  114. package/lib/commonjs/jestUtils/jestUtils.js +0 -316
  115. package/lib/commonjs/mocks/Pressable.js +0 -13
  116. package/lib/commonjs/mocks/mocks.js +0 -70
  117. package/lib/commonjs/mocks.js +0 -61
  118. package/lib/commonjs/mountRegistry.js +0 -37
  119. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +0 -9
  120. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -20
  121. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  122. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -17
  123. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  124. package/lib/commonjs/typeUtils.js +0 -2
  125. package/lib/commonjs/utils.js +0 -95
  126. package/lib/commonjs/web/Gestures.js +0 -48
  127. package/lib/commonjs/web/constants.js +0 -9
  128. package/lib/commonjs/web/detectors/RotationGestureDetector.js +0 -124
  129. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +0 -111
  130. package/lib/commonjs/web/handlers/FlingGestureHandler.js +0 -143
  131. package/lib/commonjs/web/handlers/GestureHandler.js +0 -689
  132. package/lib/commonjs/web/handlers/HoverGestureHandler.js +0 -45
  133. package/lib/commonjs/web/handlers/IGestureHandler.js +0 -2
  134. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +0 -146
  135. package/lib/commonjs/web/handlers/ManualGestureHandler.js +0 -38
  136. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +0 -141
  137. package/lib/commonjs/web/handlers/PanGestureHandler.js +0 -399
  138. package/lib/commonjs/web/handlers/PinchGestureHandler.js +0 -122
  139. package/lib/commonjs/web/handlers/RotationGestureHandler.js +0 -129
  140. package/lib/commonjs/web/handlers/TapGestureHandler.js +0 -215
  141. package/lib/commonjs/web/interfaces.js +0 -32
  142. package/lib/commonjs/web/tools/CircularBuffer.js +0 -40
  143. package/lib/commonjs/web/tools/EventManager.js +0 -94
  144. package/lib/commonjs/web/tools/GestureHandlerDelegate.js +0 -6
  145. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +0 -267
  146. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +0 -165
  147. package/lib/commonjs/web/tools/InteractionManager.js +0 -96
  148. package/lib/commonjs/web/tools/KeyboardEventManager.js +0 -108
  149. package/lib/commonjs/web/tools/LeastSquareSolver.js +0 -159
  150. package/lib/commonjs/web/tools/NodeManager.js +0 -39
  151. package/lib/commonjs/web/tools/PointerEventManager.js +0 -189
  152. package/lib/commonjs/web/tools/PointerTracker.js +0 -192
  153. package/lib/commonjs/web/tools/Vector.js +0 -37
  154. package/lib/commonjs/web/tools/VelocityTracker.js +0 -85
  155. package/lib/commonjs/web/tools/WheelEventManager.js +0 -55
  156. package/lib/commonjs/web/utils.js +0 -235
  157. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +0 -93
  158. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +0 -43
  159. package/lib/commonjs/web_hammer/Errors.js +0 -13
  160. package/lib/commonjs/web_hammer/FlingGestureHandler.js +0 -139
  161. package/lib/commonjs/web_hammer/GestureHandler.js +0 -484
  162. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +0 -45
  163. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +0 -57
  164. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +0 -57
  165. package/lib/commonjs/web_hammer/NodeManager.js +0 -41
  166. package/lib/commonjs/web_hammer/PanGestureHandler.js +0 -167
  167. package/lib/commonjs/web_hammer/PinchGestureHandler.js +0 -31
  168. package/lib/commonjs/web_hammer/PressGestureHandler.js +0 -153
  169. package/lib/commonjs/web_hammer/RotationGestureHandler.js +0 -32
  170. package/lib/commonjs/web_hammer/TapGestureHandler.js +0 -165
  171. package/lib/commonjs/web_hammer/constants.js +0 -51
  172. package/lib/commonjs/web_hammer/utils.js +0 -32
  173. package/lib/module/ActionType.js +0 -11
  174. package/lib/module/Directions.js +0 -27
  175. package/lib/module/EnableNewWebImplementation.js +0 -34
  176. package/lib/module/GestureHandlerRootViewContext.js +0 -5
  177. package/lib/module/PlatformConstants.js +0 -5
  178. package/lib/module/PlatformConstants.kepler.js +0 -8
  179. package/lib/module/PlatformConstants.web.js +0 -8
  180. package/lib/module/PointerType.js +0 -11
  181. package/lib/module/RNGestureHandlerModule.js +0 -8
  182. package/lib/module/RNGestureHandlerModule.kepler.js +0 -25
  183. package/lib/module/RNGestureHandlerModule.web.js +0 -90
  184. package/lib/module/RNGestureHandlerModule.windows.js +0 -50
  185. package/lib/module/RNRenderer.js +0 -6
  186. package/lib/module/RNRenderer.web.js +0 -6
  187. package/lib/module/State.js +0 -15
  188. package/lib/module/TouchEventType.js +0 -12
  189. package/lib/module/components/DrawerLayout.js +0 -541
  190. package/lib/module/components/GestureButtons.js +0 -200
  191. package/lib/module/components/GestureButtonsProps.js +0 -4
  192. package/lib/module/components/GestureComponents.js +0 -100
  193. package/lib/module/components/GestureComponents.web.js +0 -32
  194. package/lib/module/components/GestureHandlerButton.js +0 -5
  195. package/lib/module/components/GestureHandlerButton.web.js +0 -11
  196. package/lib/module/components/GestureHandlerRootView.android.js +0 -30
  197. package/lib/module/components/GestureHandlerRootView.js +0 -29
  198. package/lib/module/components/GestureHandlerRootView.kepler.js +0 -15
  199. package/lib/module/components/GestureHandlerRootView.web.js +0 -24
  200. package/lib/module/components/Pressable/Pressable.js +0 -268
  201. package/lib/module/components/Pressable/PressableProps.js +0 -4
  202. package/lib/module/components/Pressable/StateMachine.js +0 -40
  203. package/lib/module/components/Pressable/index.js +0 -4
  204. package/lib/module/components/Pressable/stateDefinitions.js +0 -83
  205. package/lib/module/components/Pressable/utils.js +0 -84
  206. package/lib/module/components/ReanimatedDrawerLayout.js +0 -352
  207. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +0 -332
  208. package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeableProps.js +0 -8
  209. package/lib/module/components/ReanimatedSwipeable/index.js +0 -5
  210. package/lib/module/components/Swipeable.js +0 -364
  211. package/lib/module/components/Text.js +0 -55
  212. package/lib/module/components/gestureHandlerRootHOC.js +0 -33
  213. package/lib/module/components/touchables/ExtraButtonProps.js +0 -2
  214. package/lib/module/components/touchables/GenericTouchable.js +0 -239
  215. package/lib/module/components/touchables/GenericTouchableProps.js +0 -4
  216. package/lib/module/components/touchables/TouchableHighlight.js +0 -87
  217. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +0 -77
  218. package/lib/module/components/touchables/TouchableNativeFeedback.js +0 -10
  219. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js +0 -4
  220. package/lib/module/components/touchables/TouchableOpacity.js +0 -59
  221. package/lib/module/components/touchables/TouchableWithoutFeedback.js +0 -27
  222. package/lib/module/components/touchables/index.js +0 -7
  223. package/lib/module/components/utils.js +0 -13
  224. package/lib/module/findNodeHandle.js +0 -5
  225. package/lib/module/findNodeHandle.web.js +0 -35
  226. package/lib/module/getShadowNodeFromRef.js +0 -47
  227. package/lib/module/getShadowNodeFromRef.web.js +0 -10
  228. package/lib/module/ghQueueMicrotask.js +0 -6
  229. package/lib/module/handlers/FlingGestureHandler.js +0 -26
  230. package/lib/module/handlers/ForceTouchGestureHandler.js +0 -41
  231. package/lib/module/handlers/GestureHandlerEventPayload.js +0 -4
  232. package/lib/module/handlers/LongPressGestureHandler.js +0 -28
  233. package/lib/module/handlers/NativeViewGestureHandler.js +0 -27
  234. package/lib/module/handlers/PanGestureHandler.js +0 -105
  235. package/lib/module/handlers/PinchGestureHandler.js +0 -25
  236. package/lib/module/handlers/PressabilityDebugView.js +0 -5
  237. package/lib/module/handlers/PressabilityDebugView.web.js +0 -7
  238. package/lib/module/handlers/RotationGestureHandler.js +0 -25
  239. package/lib/module/handlers/TapGestureHandler.js +0 -28
  240. package/lib/module/handlers/createHandler.js +0 -399
  241. package/lib/module/handlers/createNativeWrapper.js +0 -74
  242. package/lib/module/handlers/customDirectEventTypes.js +0 -5
  243. package/lib/module/handlers/customDirectEventTypes.web.js +0 -7
  244. package/lib/module/handlers/gestureHandlerCommon.js +0 -26
  245. package/lib/module/handlers/gestureHandlerTypesCompat.js +0 -4
  246. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +0 -26
  247. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +0 -36
  248. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +0 -62
  249. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -15
  250. package/lib/module/handlers/gestures/GestureDetector/index.js +0 -117
  251. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -18
  252. package/lib/module/handlers/gestures/GestureDetector/types.js +0 -4
  253. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +0 -61
  254. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +0 -139
  255. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +0 -43
  256. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +0 -37
  257. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +0 -40
  258. package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -134
  259. package/lib/module/handlers/gestures/eventReceiver.js +0 -110
  260. package/lib/module/handlers/gestures/flingGesture.js +0 -32
  261. package/lib/module/handlers/gestures/forceTouchGesture.js +0 -76
  262. package/lib/module/handlers/gestures/gesture.js +0 -332
  263. package/lib/module/handlers/gestures/gestureComposition.js +0 -83
  264. package/lib/module/handlers/gestures/gestureObjects.js +0 -129
  265. package/lib/module/handlers/gestures/gestureStateManager.js +0 -66
  266. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -23
  267. package/lib/module/handlers/gestures/hoverGesture.js +0 -52
  268. package/lib/module/handlers/gestures/longPressGesture.js +0 -41
  269. package/lib/module/handlers/gestures/manualGesture.js +0 -20
  270. package/lib/module/handlers/gestures/nativeGesture.js +0 -29
  271. package/lib/module/handlers/gestures/panGesture.js +0 -192
  272. package/lib/module/handlers/gestures/pinchGesture.js +0 -33
  273. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -26
  274. package/lib/module/handlers/gestures/rotationGesture.js +0 -33
  275. package/lib/module/handlers/gestures/tapGesture.js +0 -82
  276. package/lib/module/handlers/getNextHandlerTag.js +0 -7
  277. package/lib/module/handlers/handlersRegistry.js +0 -39
  278. package/lib/module/handlers/utils.js +0 -61
  279. package/lib/module/index.js +0 -31
  280. package/lib/module/init.js +0 -19
  281. package/lib/module/jestUtils/index.js +0 -4
  282. package/lib/module/jestUtils/jestUtils.js +0 -311
  283. package/lib/module/mocks/Pressable.js +0 -4
  284. package/lib/module/mocks/mocks.js +0 -64
  285. package/lib/module/mocks.js +0 -57
  286. package/lib/module/mountRegistry.js +0 -32
  287. package/lib/module/specs/NativeRNGestureHandlerModule.js +0 -5
  288. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.kepler.js +0 -14
  289. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  290. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.kepler.js +0 -11
  291. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  292. package/lib/module/typeUtils.js +0 -2
  293. package/lib/module/utils.js +0 -81
  294. package/lib/module/web/Gestures.js +0 -42
  295. package/lib/module/web/constants.js +0 -5
  296. package/lib/module/web/detectors/RotationGestureDetector.js +0 -119
  297. package/lib/module/web/detectors/ScaleGestureDetector.js +0 -106
  298. package/lib/module/web/handlers/FlingGestureHandler.js +0 -137
  299. package/lib/module/web/handlers/GestureHandler.js +0 -682
  300. package/lib/module/web/handlers/HoverGestureHandler.js +0 -39
  301. package/lib/module/web/handlers/IGestureHandler.js +0 -2
  302. package/lib/module/web/handlers/LongPressGestureHandler.js +0 -140
  303. package/lib/module/web/handlers/ManualGestureHandler.js +0 -32
  304. package/lib/module/web/handlers/NativeViewGestureHandler.js +0 -135
  305. package/lib/module/web/handlers/PanGestureHandler.js +0 -393
  306. package/lib/module/web/handlers/PinchGestureHandler.js +0 -116
  307. package/lib/module/web/handlers/RotationGestureHandler.js +0 -123
  308. package/lib/module/web/handlers/TapGestureHandler.js +0 -209
  309. package/lib/module/web/interfaces.js +0 -28
  310. package/lib/module/web/tools/CircularBuffer.js +0 -35
  311. package/lib/module/web/tools/EventManager.js +0 -89
  312. package/lib/module/web/tools/GestureHandlerDelegate.js +0 -4
  313. package/lib/module/web/tools/GestureHandlerOrchestrator.js +0 -261
  314. package/lib/module/web/tools/GestureHandlerWebDelegate.js +0 -159
  315. package/lib/module/web/tools/InteractionManager.js +0 -91
  316. package/lib/module/web/tools/KeyboardEventManager.js +0 -102
  317. package/lib/module/web/tools/LeastSquareSolver.js +0 -154
  318. package/lib/module/web/tools/NodeManager.js +0 -34
  319. package/lib/module/web/tools/PointerEventManager.js +0 -183
  320. package/lib/module/web/tools/PointerTracker.js +0 -186
  321. package/lib/module/web/tools/Vector.js +0 -32
  322. package/lib/module/web/tools/VelocityTracker.js +0 -79
  323. package/lib/module/web/tools/WheelEventManager.js +0 -49
  324. package/lib/module/web/utils.js +0 -223
  325. package/lib/module/web_hammer/DiscreteGestureHandler.js +0 -87
  326. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -37
  327. package/lib/module/web_hammer/Errors.js +0 -8
  328. package/lib/module/web_hammer/FlingGestureHandler.js +0 -133
  329. package/lib/module/web_hammer/GestureHandler.js +0 -478
  330. package/lib/module/web_hammer/IndiscreteGestureHandler.js +0 -41
  331. package/lib/module/web_hammer/LongPressGestureHandler.js +0 -51
  332. package/lib/module/web_hammer/NativeViewGestureHandler.js +0 -51
  333. package/lib/module/web_hammer/NodeManager.js +0 -33
  334. package/lib/module/web_hammer/PanGestureHandler.js +0 -162
  335. package/lib/module/web_hammer/PinchGestureHandler.js +0 -26
  336. package/lib/module/web_hammer/PressGestureHandler.js +0 -148
  337. package/lib/module/web_hammer/RotationGestureHandler.js +0 -27
  338. package/lib/module/web_hammer/TapGestureHandler.js +0 -160
  339. package/lib/module/web_hammer/constants.js +0 -46
  340. package/lib/module/web_hammer/utils.js +0 -21
  341. package/src/ActionType.ts +0 -9
  342. package/src/Directions.ts +0 -26
  343. package/src/EnableNewWebImplementation.ts +0 -53
  344. package/src/GestureHandlerRootViewContext.ts +0 -3
  345. package/src/PlatformConstants.kepler.ts +0 -5
  346. package/src/PlatformConstants.ts +0 -8
  347. package/src/PlatformConstants.web.ts +0 -5
  348. package/src/PointerType.ts +0 -7
  349. package/src/RNGestureHandlerModule.kepler.ts +0 -63
  350. package/src/RNGestureHandlerModule.ts +0 -5
  351. package/src/RNGestureHandlerModule.web.ts +0 -124
  352. package/src/RNGestureHandlerModule.windows.ts +0 -62
  353. package/src/RNRenderer.ts +0 -3
  354. package/src/RNRenderer.web.ts +0 -3
  355. package/src/State.ts +0 -13
  356. package/src/TouchEventType.ts +0 -11
  357. package/src/components/DrawerLayout.tsx +0 -788
  358. package/src/components/GestureButtons.tsx +0 -272
  359. package/src/components/GestureButtonsProps.ts +0 -156
  360. package/src/components/GestureComponents.tsx +0 -148
  361. package/src/components/GestureComponents.web.tsx +0 -41
  362. package/src/components/GestureHandlerButton.tsx +0 -5
  363. package/src/components/GestureHandlerButton.web.tsx +0 -6
  364. package/src/components/GestureHandlerRootView.android.tsx +0 -32
  365. package/src/components/GestureHandlerRootView.kepler.tsx +0 -18
  366. package/src/components/GestureHandlerRootView.tsx +0 -28
  367. package/src/components/GestureHandlerRootView.web.tsx +0 -22
  368. package/src/components/Pressable/Pressable.tsx +0 -401
  369. package/src/components/Pressable/PressableProps.tsx +0 -174
  370. package/src/components/Pressable/StateMachine.tsx +0 -57
  371. package/src/components/Pressable/index.ts +0 -5
  372. package/src/components/Pressable/stateDefinitions.ts +0 -126
  373. package/src/components/Pressable/utils.ts +0 -140
  374. package/src/components/ReanimatedDrawerLayout.tsx +0 -754
  375. package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +0 -607
  376. package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +0 -199
  377. package/src/components/ReanimatedSwipeable/index.ts +0 -6
  378. package/src/components/Swipeable.tsx +0 -595
  379. package/src/components/Text.tsx +0 -77
  380. package/src/components/gestureHandlerRootHOC.tsx +0 -33
  381. package/src/components/touchables/ExtraButtonProps.ts +0 -7
  382. package/src/components/touchables/GenericTouchable.tsx +0 -275
  383. package/src/components/touchables/GenericTouchableProps.ts +0 -28
  384. package/src/components/touchables/TouchableHighlight.tsx +0 -118
  385. package/src/components/touchables/TouchableNativeFeedback.android.tsx +0 -83
  386. package/src/components/touchables/TouchableNativeFeedback.tsx +0 -8
  387. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +0 -10
  388. package/src/components/touchables/TouchableOpacity.tsx +0 -78
  389. package/src/components/touchables/TouchableWithoutFeedback.tsx +0 -39
  390. package/src/components/touchables/index.ts +0 -7
  391. package/src/components/utils.ts +0 -26
  392. package/src/findNodeHandle.ts +0 -3
  393. package/src/findNodeHandle.web.ts +0 -41
  394. package/src/getShadowNodeFromRef.ts +0 -50
  395. package/src/getShadowNodeFromRef.web.ts +0 -7
  396. package/src/ghQueueMicrotask.ts +0 -8
  397. package/src/handlers/FlingGestureHandler.ts +0 -64
  398. package/src/handlers/ForceTouchGestureHandler.ts +0 -88
  399. package/src/handlers/GestureHandlerEventPayload.ts +0 -229
  400. package/src/handlers/LongPressGestureHandler.ts +0 -65
  401. package/src/handlers/NativeViewGestureHandler.ts +0 -59
  402. package/src/handlers/PanGestureHandler.ts +0 -282
  403. package/src/handlers/PinchGestureHandler.ts +0 -32
  404. package/src/handlers/PressabilityDebugView.tsx +0 -2
  405. package/src/handlers/PressabilityDebugView.web.tsx +0 -4
  406. package/src/handlers/RotationGestureHandler.ts +0 -32
  407. package/src/handlers/TapGestureHandler.ts +0 -99
  408. package/src/handlers/createHandler.tsx +0 -586
  409. package/src/handlers/createNativeWrapper.tsx +0 -89
  410. package/src/handlers/customDirectEventTypes.ts +0 -2
  411. package/src/handlers/customDirectEventTypes.web.ts +0 -5
  412. package/src/handlers/gestureHandlerCommon.ts +0 -211
  413. package/src/handlers/gestureHandlerTypesCompat.ts +0 -101
  414. package/src/handlers/gestures/GestureDetector/Wrap.tsx +0 -35
  415. package/src/handlers/gestures/GestureDetector/Wrap.web.tsx +0 -42
  416. package/src/handlers/gestures/GestureDetector/attachHandlers.ts +0 -112
  417. package/src/handlers/gestures/GestureDetector/dropHandlers.ts +0 -17
  418. package/src/handlers/gestures/GestureDetector/index.tsx +0 -191
  419. package/src/handlers/gestures/GestureDetector/needsToReattach.ts +0 -27
  420. package/src/handlers/gestures/GestureDetector/types.ts +0 -32
  421. package/src/handlers/gestures/GestureDetector/updateHandlers.ts +0 -92
  422. package/src/handlers/gestures/GestureDetector/useAnimatedGesture.ts +0 -209
  423. package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +0 -69
  424. package/src/handlers/gestures/GestureDetector/useMountReactions.ts +0 -51
  425. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +0 -58
  426. package/src/handlers/gestures/GestureDetector/utils.ts +0 -181
  427. package/src/handlers/gestures/eventReceiver.ts +0 -173
  428. package/src/handlers/gestures/flingGesture.ts +0 -36
  429. package/src/handlers/gestures/forceTouchGesture.ts +0 -95
  430. package/src/handlers/gestures/gesture.ts +0 -472
  431. package/src/handlers/gestures/gestureComposition.ts +0 -124
  432. package/src/handlers/gestures/gestureObjects.ts +0 -143
  433. package/src/handlers/gestures/gestureStateManager.ts +0 -76
  434. package/src/handlers/gestures/gestureStateManager.web.ts +0 -26
  435. package/src/handlers/gestures/hoverGesture.ts +0 -77
  436. package/src/handlers/gestures/longPressGesture.ts +0 -45
  437. package/src/handlers/gestures/manualGesture.ts +0 -31
  438. package/src/handlers/gestures/nativeGesture.ts +0 -33
  439. package/src/handlers/gestures/panGesture.ts +0 -221
  440. package/src/handlers/gestures/pinchGesture.ts +0 -51
  441. package/src/handlers/gestures/reanimatedWrapper.ts +0 -57
  442. package/src/handlers/gestures/rotationGesture.ts +0 -51
  443. package/src/handlers/gestures/tapGesture.ts +0 -86
  444. package/src/handlers/getNextHandlerTag.ts +0 -5
  445. package/src/handlers/handlersRegistry.ts +0 -58
  446. package/src/handlers/utils.ts +0 -76
  447. package/src/init.ts +0 -18
  448. package/src/jestUtils/index.ts +0 -1
  449. package/src/jestUtils/jestUtils.ts +0 -513
  450. package/src/mocks/Pressable.tsx +0 -1
  451. package/src/mocks/mocks.tsx +0 -70
  452. package/src/mocks.ts +0 -67
  453. package/src/mountRegistry.ts +0 -51
  454. package/src/specs/NativeRNGestureHandlerModule.ts +0 -26
  455. package/src/specs/RNGestureHandlerButtonNativeComponent.kepler.ts +0 -27
  456. package/src/specs/RNGestureHandlerButtonNativeComponent.ts +0 -24
  457. package/src/specs/RNGestureHandlerRootViewNativeComponent.kepler.ts +0 -21
  458. package/src/specs/RNGestureHandlerRootViewNativeComponent.ts +0 -7
  459. package/src/typeUtils.ts +0 -1
  460. package/src/utils.ts +0 -107
  461. package/src/web/Gestures.ts +0 -41
  462. package/src/web/constants.ts +0 -2
  463. package/src/web/detectors/RotationGestureDetector.ts +0 -170
  464. package/src/web/detectors/ScaleGestureDetector.ts +0 -171
  465. package/src/web/handlers/FlingGestureHandler.ts +0 -196
  466. package/src/web/handlers/GestureHandler.ts +0 -881
  467. package/src/web/handlers/HoverGestureHandler.ts +0 -49
  468. package/src/web/handlers/IGestureHandler.ts +0 -49
  469. package/src/web/handlers/LongPressGestureHandler.ts +0 -175
  470. package/src/web/handlers/ManualGestureHandler.ts +0 -37
  471. package/src/web/handlers/NativeViewGestureHandler.ts +0 -175
  472. package/src/web/handlers/PanGestureHandler.ts +0 -571
  473. package/src/web/handlers/PinchGestureHandler.ts +0 -152
  474. package/src/web/handlers/RotationGestureHandler.ts +0 -166
  475. package/src/web/handlers/TapGestureHandler.ts +0 -274
  476. package/src/web/interfaces.ts +0 -190
  477. package/src/web/tools/CircularBuffer.ts +0 -42
  478. package/src/web/tools/EventManager.ts +0 -108
  479. package/src/web/tools/GestureHandlerDelegate.ts +0 -26
  480. package/src/web/tools/GestureHandlerOrchestrator.ts +0 -392
  481. package/src/web/tools/GestureHandlerWebDelegate.ts +0 -227
  482. package/src/web/tools/InteractionManager.ts +0 -135
  483. package/src/web/tools/KeyboardEventManager.ts +0 -133
  484. package/src/web/tools/LeastSquareSolver.ts +0 -182
  485. package/src/web/tools/NodeManager.ts +0 -48
  486. package/src/web/tools/PointerEventManager.ts +0 -226
  487. package/src/web/tools/PointerTracker.ts +0 -228
  488. package/src/web/tools/Vector.ts +0 -59
  489. package/src/web/tools/VelocityTracker.ts +0 -98
  490. package/src/web/tools/WheelEventManager.ts +0 -48
  491. package/src/web/utils.ts +0 -293
  492. package/src/web_hammer/DiscreteGestureHandler.ts +0 -82
  493. package/src/web_hammer/DraggingGestureHandler.ts +0 -34
  494. package/src/web_hammer/Errors.ts +0 -7
  495. package/src/web_hammer/FlingGestureHandler.ts +0 -134
  496. package/src/web_hammer/GestureHandler.ts +0 -600
  497. package/src/web_hammer/IndiscreteGestureHandler.ts +0 -33
  498. package/src/web_hammer/LongPressGestureHandler.ts +0 -56
  499. package/src/web_hammer/NativeViewGestureHandler.ts +0 -47
  500. package/src/web_hammer/NodeManager.ts +0 -33
  501. package/src/web_hammer/PanGestureHandler.ts +0 -226
  502. package/src/web_hammer/PinchGestureHandler.ts +0 -25
  503. package/src/web_hammer/PressGestureHandler.ts +0 -170
  504. package/src/web_hammer/RotationGestureHandler.ts +0 -25
  505. package/src/web_hammer/TapGestureHandler.ts +0 -172
  506. package/src/web_hammer/constants.ts +0 -48
  507. 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
- }