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

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