@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,541 +0,0 @@
1
- "use strict";
2
-
3
- // This component is based on RN's DrawerLayoutAndroid API
4
- //
5
- // It perhaps deserves to be put in a separate repo, but since it relies on
6
- // react-native-gesture-handler library which isn't very popular at the moment I
7
- // decided to keep it here for the time being. It will allow us to move faster
8
- // and fix issues that may arise in gesture handler library that could be found
9
- // when using the drawer component
10
-
11
- import * as React from 'react';
12
- import { Component } from 'react';
13
- import invariant from 'invariant';
14
- import { Animated, StyleSheet, View, Keyboard, StatusBar, I18nManager } from 'react-native';
15
- import { PanGestureHandler } from '../handlers/PanGestureHandler';
16
- import { TapGestureHandler } from '../handlers/TapGestureHandler';
17
- import { State } from '../State';
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
- const DRAG_TOSS = 0.05;
20
- const IDLE = 'Idle';
21
- const DRAGGING = 'Dragging';
22
- const SETTLING = 'Settling';
23
-
24
- /**
25
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
26
- */
27
-
28
- /**
29
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
30
- */
31
-
32
- /**
33
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
34
- */
35
-
36
- /**
37
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
38
- */
39
-
40
- /**
41
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
42
- */
43
-
44
- // Animated.AnimatedInterpolation has been converted to a generic type
45
- // in @types/react-native 0.70. This way we can maintain compatibility
46
- // with all versions of @types/react-native`
47
-
48
- /**
49
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
50
- */
51
-
52
- /**
53
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
54
- */
55
-
56
- /**
57
- * @deprecated DrawerLayout is deprecated. Use Reanimated version of DrawerLayout instead.
58
- */
59
-
60
- /**
61
- * @deprecated use Reanimated version of DrawerLayout instead
62
- */
63
- export default class DrawerLayout extends Component {
64
- static defaultProps = {
65
- drawerWidth: 200,
66
- drawerPosition: 'left',
67
- useNativeAnimations: true,
68
- drawerType: 'front',
69
- edgeWidth: 20,
70
- minSwipeDistance: 3,
71
- overlayColor: 'rgba(0, 0, 0, 0.7)',
72
- drawerLockMode: 'unlocked',
73
- enableTrackpadTwoFingerGesture: false
74
- };
75
- constructor(props) {
76
- super(props);
77
- const dragX = new Animated.Value(0);
78
- const touchX = new Animated.Value(0);
79
- const drawerTranslation = new Animated.Value(0);
80
- this.state = {
81
- dragX,
82
- touchX,
83
- drawerTranslation,
84
- containerWidth: 0,
85
- drawerState: IDLE,
86
- drawerOpened: false
87
- };
88
- this.updateAnimatedEvent(props, this.state);
89
- }
90
- shouldComponentUpdate(props, state) {
91
- if (this.props.drawerPosition !== props.drawerPosition || this.props.drawerWidth !== props.drawerWidth || this.props.drawerType !== props.drawerType || this.state.containerWidth !== state.containerWidth) {
92
- this.updateAnimatedEvent(props, state);
93
- }
94
- return true;
95
- }
96
- accessibilityIsModalView = /*#__PURE__*/React.createRef();
97
- pointerEventsView = /*#__PURE__*/React.createRef();
98
- panGestureHandler = /*#__PURE__*/React.createRef();
99
- drawerShown = false;
100
- static positions = {
101
- Left: 'left',
102
- Right: 'right'
103
- };
104
- updateAnimatedEvent = (props, state) => {
105
- // Event definition is based on
106
- const {
107
- drawerPosition,
108
- drawerWidth,
109
- drawerType
110
- } = props;
111
- const {
112
- dragX: dragXValue,
113
- touchX: touchXValue,
114
- drawerTranslation,
115
- containerWidth
116
- } = state;
117
- let dragX = dragXValue;
118
- let touchX = touchXValue;
119
- if (drawerPosition !== 'left') {
120
- // Most of the code is written in a way to handle left-side drawer. In
121
- // order to handle right-side drawer the only thing we need to do is to
122
- // reverse events coming from gesture handler in a way they emulate
123
- // left-side drawer gestures. E.g. dragX is simply -dragX, and touchX is
124
- // calulcated by subtracing real touchX from the width of the container
125
- // (such that when touch happens at the right edge the value is simply 0)
126
- dragX = Animated.multiply(new Animated.Value(-1), dragXValue); // TODO(TS): (for all "as" in this file) make sure we can map this
127
- touchX = Animated.add(new Animated.Value(containerWidth), Animated.multiply(new Animated.Value(-1), touchXValue)); // TODO(TS): make sure we can map this;
128
- touchXValue.setValue(containerWidth);
129
- } else {
130
- touchXValue.setValue(0);
131
- }
132
-
133
- // While closing the drawer when user starts gesture outside of its area (in greyed
134
- // out part of the window), we want the drawer to follow only once finger reaches the
135
- // edge of the drawer.
136
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
137
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
138
- // an arrow pointing left
139
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
140
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
141
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
142
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
143
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
144
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
145
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
146
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
147
- // +---------------+ +---------------+ +---------------+ +---------------+
148
- //
149
- // For the above to work properly we define animated value that will keep
150
- // start position of the gesture. Then we use that value to calculate how
151
- // much we need to subtract from the dragX. If the gesture started on the
152
- // greyed out area we take the distance from the edge of the drawer to the
153
- // start position. Otherwise we don't subtract at all and the drawer be
154
- // pulled back as soon as you start the pan.
155
- //
156
- // This is used only when drawerType is "front"
157
- //
158
- let translationX = dragX;
159
- if (drawerType === 'front') {
160
- const startPositionX = Animated.add(touchX, Animated.multiply(new Animated.Value(-1), dragX));
161
- const dragOffsetFromOnStartPosition = startPositionX.interpolate({
162
- inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1],
163
- outputRange: [0, 0, 1]
164
- });
165
- translationX = Animated.add(dragX, dragOffsetFromOnStartPosition); // TODO: as above
166
- }
167
- this.openValue = Animated.add(translationX, drawerTranslation).interpolate({
168
- inputRange: [0, drawerWidth],
169
- outputRange: [0, 1],
170
- extrapolate: 'clamp'
171
- });
172
- const gestureOptions = {
173
- useNativeDriver: props.useNativeAnimations
174
- };
175
- if (this.props.onDrawerSlide) {
176
- gestureOptions.listener = ev => {
177
- const translationX = Math.floor(Math.abs(ev.nativeEvent.translationX));
178
- const position = translationX / this.state.containerWidth;
179
- this.props.onDrawerSlide?.(position);
180
- };
181
- }
182
- this.onGestureEvent = Animated.event([{
183
- nativeEvent: {
184
- translationX: dragXValue,
185
- x: touchXValue
186
- }
187
- }], gestureOptions);
188
- };
189
- handleContainerLayout = ({
190
- nativeEvent
191
- }) => {
192
- this.setState({
193
- containerWidth: nativeEvent.layout.width
194
- });
195
- };
196
- emitStateChanged = (newState, drawerWillShow) => {
197
- this.props.onDrawerStateChanged?.(newState, drawerWillShow);
198
- };
199
- openingHandlerStateChange = ({
200
- nativeEvent
201
- }) => {
202
- if (nativeEvent.oldState === State.ACTIVE) {
203
- this.handleRelease({
204
- nativeEvent
205
- });
206
- } else if (nativeEvent.state === State.ACTIVE) {
207
- this.emitStateChanged(DRAGGING, false);
208
- this.setState({
209
- drawerState: DRAGGING
210
- });
211
- if (this.props.keyboardDismissMode === 'on-drag') {
212
- Keyboard.dismiss();
213
- }
214
- if (this.props.hideStatusBar) {
215
- StatusBar.setHidden(true, this.props.statusBarAnimation || 'slide');
216
- }
217
- }
218
- };
219
- onTapHandlerStateChange = ({
220
- nativeEvent
221
- }) => {
222
- if (this.drawerShown && nativeEvent.oldState === State.ACTIVE && this.props.drawerLockMode !== 'locked-open') {
223
- this.closeDrawer();
224
- }
225
- };
226
- handleRelease = ({
227
- nativeEvent
228
- }) => {
229
- const {
230
- drawerWidth,
231
- drawerPosition,
232
- drawerType
233
- } = this.props;
234
- const {
235
- containerWidth
236
- } = this.state;
237
- let {
238
- translationX: dragX,
239
- velocityX,
240
- x: touchX
241
- } = nativeEvent;
242
- if (drawerPosition !== 'left') {
243
- // See description in _updateAnimatedEvent about why events are flipped
244
- // for right-side drawer
245
- dragX = -dragX;
246
- touchX = containerWidth - touchX;
247
- velocityX = -velocityX;
248
- }
249
- const gestureStartX = touchX - dragX;
250
- let dragOffsetBasedOnStart = 0;
251
- if (drawerType === 'front') {
252
- dragOffsetBasedOnStart = gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;
253
- }
254
- const startOffsetX = dragX + dragOffsetBasedOnStart + (this.drawerShown ? drawerWidth : 0);
255
- const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;
256
- const shouldOpen = projOffsetX > drawerWidth / 2;
257
- if (shouldOpen) {
258
- this.animateDrawer(startOffsetX, drawerWidth, velocityX);
259
- } else {
260
- this.animateDrawer(startOffsetX, 0, velocityX);
261
- }
262
- };
263
- updateShowing = showing => {
264
- this.drawerShown = showing;
265
- this.accessibilityIsModalView.current?.setNativeProps({
266
- accessibilityViewIsModal: showing
267
- });
268
- this.pointerEventsView.current?.setNativeProps({
269
- pointerEvents: showing ? 'auto' : 'none'
270
- });
271
- const {
272
- drawerPosition,
273
- minSwipeDistance,
274
- edgeWidth
275
- } = this.props;
276
- const fromLeft = drawerPosition === 'left';
277
- // gestureOrientation is 1 if the expected gesture is from left to right and
278
- // -1 otherwise e.g. when drawer is on the left and is closed we expect left
279
- // to right gesture, thus orientation will be 1.
280
- const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
281
- // When drawer is closed we want the hitSlop to be horizontally shorter than
282
- // the container size by the value of SLOP. This will make it only activate
283
- // when gesture happens not further than SLOP away from the edge
284
- const hitSlop = fromLeft ? {
285
- left: 0,
286
- width: showing ? undefined : edgeWidth
287
- } : {
288
- right: 0,
289
- width: showing ? undefined : edgeWidth
290
- };
291
- // @ts-ignore internal API, maybe could be fixed in handler types
292
- this.panGestureHandler.current?.setNativeProps({
293
- hitSlop,
294
- activeOffsetX: gestureOrientation * minSwipeDistance
295
- });
296
- };
297
- animateDrawer = (fromValue, toValue, velocity, speed) => {
298
- this.state.dragX.setValue(0);
299
- this.state.touchX.setValue(this.props.drawerPosition === 'left' ? 0 : this.state.containerWidth);
300
- if (fromValue != null) {
301
- let nextFramePosition = fromValue;
302
- if (this.props.useNativeAnimations) {
303
- // When using native driver, we predict the next position of the
304
- // animation because it takes one frame of a roundtrip to pass RELEASE
305
- // event from native driver to JS before we can start animating. Without
306
- // it, it is more noticable that the frame is dropped.
307
- if (fromValue < toValue && velocity > 0) {
308
- nextFramePosition = Math.min(fromValue + velocity / 60.0, toValue);
309
- } else if (fromValue > toValue && velocity < 0) {
310
- nextFramePosition = Math.max(fromValue + velocity / 60.0, toValue);
311
- }
312
- }
313
- this.state.drawerTranslation.setValue(nextFramePosition);
314
- }
315
- const willShow = toValue !== 0;
316
- this.updateShowing(willShow);
317
- this.emitStateChanged(SETTLING, willShow);
318
- this.setState({
319
- drawerState: SETTLING
320
- });
321
- if (this.props.hideStatusBar) {
322
- StatusBar.setHidden(willShow, this.props.statusBarAnimation || 'slide');
323
- }
324
- Animated.spring(this.state.drawerTranslation, {
325
- velocity,
326
- bounciness: 0,
327
- toValue,
328
- useNativeDriver: this.props.useNativeAnimations,
329
- speed: speed ?? undefined
330
- }).start(({
331
- finished
332
- }) => {
333
- if (finished) {
334
- this.emitStateChanged(IDLE, willShow);
335
- this.setState({
336
- drawerOpened: willShow
337
- });
338
- if (this.state.drawerState !== DRAGGING) {
339
- // It's possilbe that user started drag while the drawer
340
- // was settling, don't override state in this case
341
- this.setState({
342
- drawerState: IDLE
343
- });
344
- }
345
- if (willShow) {
346
- this.props.onDrawerOpen?.();
347
- } else {
348
- this.props.onDrawerClose?.();
349
- }
350
- }
351
- });
352
- };
353
-
354
- // eslint-disable-next-line @eslint-react/no-unused-class-component-members
355
- openDrawer = (options = {}) => {
356
- this.animateDrawer(
357
- // TODO: decide if it should be null or undefined is the proper value
358
- undefined, this.props.drawerWidth, options.velocity ? options.velocity : 0, options.speed);
359
-
360
- // We need to force the update, otherwise the overlay is not rerendered and
361
- // it would not be clickable
362
- this.forceUpdate();
363
- };
364
- closeDrawer = (options = {}) => {
365
- // TODO: decide if it should be null or undefined is the proper value
366
- this.animateDrawer(undefined, 0, options.velocity ? options.velocity : 0, options.speed);
367
-
368
- // We need to force the update, otherwise the overlay is not rerendered and
369
- // it would be still clickable
370
- this.forceUpdate();
371
- };
372
- renderOverlay = () => {
373
- /* Overlay styles */
374
- invariant(this.openValue, 'should be set');
375
- let overlayOpacity;
376
- if (this.state.drawerState !== IDLE) {
377
- overlayOpacity = this.openValue;
378
- } else {
379
- overlayOpacity = this.state.drawerOpened ? 1 : 0;
380
- }
381
- const dynamicOverlayStyles = {
382
- opacity: overlayOpacity,
383
- backgroundColor: this.props.overlayColor
384
- };
385
- return /*#__PURE__*/_jsx(TapGestureHandler, {
386
- onHandlerStateChange: this.onTapHandlerStateChange,
387
- children: /*#__PURE__*/_jsx(Animated.View, {
388
- pointerEvents: this.drawerShown ? 'auto' : 'none',
389
- ref: this.pointerEventsView,
390
- style: [styles.overlay, dynamicOverlayStyles]
391
- })
392
- });
393
- };
394
- renderDrawer = () => {
395
- const {
396
- drawerBackgroundColor,
397
- drawerWidth,
398
- drawerPosition,
399
- drawerType,
400
- drawerContainerStyle,
401
- contentContainerStyle
402
- } = this.props;
403
- const fromLeft = drawerPosition === 'left';
404
- const drawerSlide = drawerType !== 'back';
405
- const containerSlide = drawerType !== 'front';
406
-
407
- // We rely on row and row-reverse flex directions to position the drawer
408
- // properly. Apparently for RTL these are flipped which requires us to use
409
- // the opposite setting for the drawer to appear from left or right
410
- // according to the drawerPosition prop
411
- const reverseContentDirection = I18nManager.isRTL ? fromLeft : !fromLeft;
412
- const dynamicDrawerStyles = {
413
- backgroundColor: drawerBackgroundColor,
414
- width: drawerWidth
415
- };
416
- const openValue = this.openValue;
417
- invariant(openValue, 'should be set');
418
- let containerStyles;
419
- if (containerSlide) {
420
- const containerTranslateX = openValue.interpolate({
421
- inputRange: [0, 1],
422
- outputRange: fromLeft ? [0, drawerWidth] : [0, -drawerWidth],
423
- extrapolate: 'clamp'
424
- });
425
- containerStyles = {
426
- transform: [{
427
- translateX: containerTranslateX
428
- }]
429
- };
430
- }
431
- let drawerTranslateX = 0;
432
- if (drawerSlide) {
433
- const closedDrawerOffset = fromLeft ? -drawerWidth : drawerWidth;
434
- if (this.state.drawerState !== IDLE) {
435
- drawerTranslateX = openValue.interpolate({
436
- inputRange: [0, 1],
437
- outputRange: [closedDrawerOffset, 0],
438
- extrapolate: 'clamp'
439
- });
440
- } else {
441
- drawerTranslateX = this.state.drawerOpened ? 0 : closedDrawerOffset;
442
- }
443
- }
444
- const drawerStyles = {
445
- transform: [{
446
- translateX: drawerTranslateX
447
- }],
448
- flexDirection: reverseContentDirection ? 'row-reverse' : 'row'
449
- };
450
- return /*#__PURE__*/_jsxs(Animated.View, {
451
- style: styles.main,
452
- onLayout: this.handleContainerLayout,
453
- children: [/*#__PURE__*/_jsxs(Animated.View, {
454
- style: [drawerType === 'front' ? styles.containerOnBack : styles.containerInFront, containerStyles, contentContainerStyle],
455
- importantForAccessibility: this.drawerShown ? 'no-hide-descendants' : 'yes',
456
- children: [typeof this.props.children === 'function' ? this.props.children(this.openValue) : this.props.children, this.renderOverlay()]
457
- }), /*#__PURE__*/_jsx(Animated.View, {
458
- pointerEvents: "box-none",
459
- ref: this.accessibilityIsModalView,
460
- accessibilityViewIsModal: this.drawerShown,
461
- style: [styles.drawerContainer, drawerStyles, drawerContainerStyle],
462
- children: /*#__PURE__*/_jsx(View, {
463
- style: dynamicDrawerStyles,
464
- children: this.props.renderNavigationView(this.openValue)
465
- })
466
- })]
467
- });
468
- };
469
- setPanGestureRef = ref => {
470
- // TODO(TS): make sure it is OK taken from
471
- // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842
472
- this.panGestureHandler.current = ref;
473
- this.props.onGestureRef?.(ref);
474
- };
475
- render() {
476
- const {
477
- drawerPosition,
478
- drawerLockMode,
479
- edgeWidth,
480
- minSwipeDistance
481
- } = this.props;
482
- const fromLeft = drawerPosition === 'left';
483
-
484
- // gestureOrientation is 1 if the expected gesture is from left to right and
485
- // -1 otherwise e.g. when drawer is on the left and is closed we expect left
486
- // to right gesture, thus orientation will be 1.
487
- const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
488
-
489
- // When drawer is closed we want the hitSlop to be horizontally shorter than
490
- // the container size by the value of SLOP. This will make it only activate
491
- // when gesture happens not further than SLOP away from the edge
492
- const hitSlop = fromLeft ? {
493
- left: 0,
494
- width: this.drawerShown ? undefined : edgeWidth
495
- } : {
496
- right: 0,
497
- width: this.drawerShown ? undefined : edgeWidth
498
- };
499
- return /*#__PURE__*/_jsx(PanGestureHandler
500
- // @ts-ignore could be fixed in handler types
501
- , {
502
- userSelect: this.props.userSelect,
503
- activeCursor: this.props.activeCursor,
504
- mouseButton: this.props.mouseButton,
505
- enableContextMenu: this.props.enableContextMenu,
506
- ref: this.setPanGestureRef,
507
- hitSlop: hitSlop,
508
- activeOffsetX: gestureOrientation * minSwipeDistance,
509
- failOffsetY: [-15, 15],
510
- onGestureEvent: this.onGestureEvent,
511
- onHandlerStateChange: this.openingHandlerStateChange,
512
- enableTrackpadTwoFingerGesture: this.props.enableTrackpadTwoFingerGesture,
513
- enabled: drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open',
514
- children: this.renderDrawer()
515
- });
516
- }
517
- }
518
- const styles = StyleSheet.create({
519
- drawerContainer: {
520
- ...StyleSheet.absoluteFillObject,
521
- zIndex: 1001,
522
- flexDirection: 'row'
523
- },
524
- containerInFront: {
525
- ...StyleSheet.absoluteFillObject,
526
- zIndex: 1002
527
- },
528
- containerOnBack: {
529
- ...StyleSheet.absoluteFillObject
530
- },
531
- main: {
532
- flex: 1,
533
- zIndex: 0,
534
- overflow: 'hidden'
535
- },
536
- overlay: {
537
- ...StyleSheet.absoluteFillObject,
538
- zIndex: 1000
539
- }
540
- });
541
- //# sourceMappingURL=DrawerLayout.js.map