react-native-gesture-handler 2.22.1 → 2.23.0

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 (677) hide show
  1. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
  2. package/android/src/main/jni/cpp-adapter.cpp +19 -12
  3. package/apple/RNGestureHandler.mm +15 -8
  4. package/apple/RNGestureHandlerModule.mm +17 -5
  5. package/lib/commonjs/ActionType.js +3 -3
  6. package/lib/commonjs/ActionType.js.map +1 -1
  7. package/lib/commonjs/Directions.js +11 -8
  8. package/lib/commonjs/Directions.js.map +1 -1
  9. package/lib/commonjs/EnableNewWebImplementation.js +2 -10
  10. package/lib/commonjs/EnableNewWebImplementation.js.map +1 -1
  11. package/lib/commonjs/GestureHandlerRootViewContext.js +2 -7
  12. package/lib/commonjs/GestureHandlerRootViewContext.js.map +1 -1
  13. package/lib/commonjs/PlatformConstants.js +1 -6
  14. package/lib/commonjs/PlatformConstants.js.map +1 -1
  15. package/lib/commonjs/PlatformConstants.web.js +1 -3
  16. package/lib/commonjs/PlatformConstants.web.js.map +1 -1
  17. package/lib/commonjs/PointerType.js +3 -5
  18. package/lib/commonjs/PointerType.js.map +1 -1
  19. package/lib/commonjs/RNGestureHandlerModule.js +2 -6
  20. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -1
  21. package/lib/commonjs/RNGestureHandlerModule.web.js +13 -39
  22. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  23. package/lib/commonjs/RNGestureHandlerModule.windows.js +22 -32
  24. package/lib/commonjs/RNGestureHandlerModule.windows.js.map +1 -1
  25. package/lib/commonjs/RNRenderer.js +1 -3
  26. package/lib/commonjs/RNRenderer.js.map +1 -1
  27. package/lib/commonjs/RNRenderer.web.js +1 -2
  28. package/lib/commonjs/RNRenderer.web.js.map +1 -1
  29. package/lib/commonjs/State.js +4 -3
  30. package/lib/commonjs/State.js.map +1 -1
  31. package/lib/commonjs/TouchEventType.js +3 -3
  32. package/lib/commonjs/TouchEventType.js.map +1 -1
  33. package/lib/commonjs/components/DrawerLayout.js +96 -115
  34. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  35. package/lib/commonjs/components/GestureButtons.js +36 -80
  36. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  37. package/lib/commonjs/components/GestureButtonsProps.js.map +1 -1
  38. package/lib/commonjs/components/GestureComponents.js +26 -37
  39. package/lib/commonjs/components/GestureComponents.js.map +1 -1
  40. package/lib/commonjs/components/GestureComponents.web.js +13 -27
  41. package/lib/commonjs/components/GestureComponents.web.js.map +1 -1
  42. package/lib/commonjs/components/GestureHandlerButton.js +2 -6
  43. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -1
  44. package/lib/commonjs/components/GestureHandlerButton.web.js +4 -12
  45. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -1
  46. package/lib/commonjs/components/GestureHandlerRootView.android.js +4 -15
  47. package/lib/commonjs/components/GestureHandlerRootView.android.js.map +1 -1
  48. package/lib/commonjs/components/GestureHandlerRootView.js +4 -14
  49. package/lib/commonjs/components/GestureHandlerRootView.js.map +1 -1
  50. package/lib/commonjs/components/GestureHandlerRootView.web.js +4 -13
  51. package/lib/commonjs/components/GestureHandlerRootView.web.js.map +1 -1
  52. package/lib/commonjs/components/Pressable/Pressable.js +46 -78
  53. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  54. package/lib/commonjs/components/Pressable/PressableProps.js.map +1 -1
  55. package/lib/commonjs/components/Pressable/index.js +1 -3
  56. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  57. package/lib/commonjs/components/Pressable/utils.js +5 -20
  58. package/lib/commonjs/components/Pressable/utils.js.map +1 -1
  59. package/lib/commonjs/components/ReanimatedDrawerLayout.js +38 -76
  60. package/lib/commonjs/components/ReanimatedDrawerLayout.js.map +1 -1
  61. package/lib/commonjs/components/ReanimatedSwipeable.js +61 -59
  62. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  63. package/lib/commonjs/components/Swipeable.js +34 -75
  64. package/lib/commonjs/components/Swipeable.js.map +1 -1
  65. package/lib/commonjs/components/Text.js +18 -26
  66. package/lib/commonjs/components/Text.js.map +1 -1
  67. package/lib/commonjs/components/gestureHandlerRootHOC.js +5 -14
  68. package/lib/commonjs/components/gestureHandlerRootHOC.js.map +1 -1
  69. package/lib/commonjs/components/touchables/GenericTouchable.js +40 -76
  70. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -1
  71. package/lib/commonjs/components/touchables/GenericTouchableProps.js.map +1 -1
  72. package/lib/commonjs/components/touchables/TouchableHighlight.js +20 -33
  73. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  74. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +17 -31
  75. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  76. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -4
  77. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  78. package/lib/commonjs/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  79. package/lib/commonjs/components/touchables/TouchableOpacity.js +17 -24
  80. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  81. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +12 -13
  82. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  83. package/lib/commonjs/components/touchables/index.js +7 -12
  84. package/lib/commonjs/components/touchables/index.js.map +1 -1
  85. package/lib/commonjs/findNodeHandle.js +1 -4
  86. package/lib/commonjs/findNodeHandle.js.map +1 -1
  87. package/lib/commonjs/findNodeHandle.web.js +9 -10
  88. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  89. package/lib/commonjs/getReactNativeVersion.js +1 -6
  90. package/lib/commonjs/getReactNativeVersion.js.map +1 -1
  91. package/lib/commonjs/getReactNativeVersion.web.js +0 -1
  92. package/lib/commonjs/getReactNativeVersion.web.js.map +1 -1
  93. package/lib/commonjs/getShadowNodeFromRef.js +13 -14
  94. package/lib/commonjs/getShadowNodeFromRef.js.map +1 -1
  95. package/lib/commonjs/getShadowNodeFromRef.web.js +0 -1
  96. package/lib/commonjs/getShadowNodeFromRef.web.js.map +1 -1
  97. package/lib/commonjs/ghQueueMicrotask.js +1 -2
  98. package/lib/commonjs/ghQueueMicrotask.js.map +1 -1
  99. package/lib/commonjs/handlers/FlingGestureHandler.js +16 -10
  100. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  101. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +20 -23
  102. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  103. package/lib/commonjs/handlers/GestureHandlerEventPayload.js.map +1 -1
  104. package/lib/commonjs/handlers/LongPressGestureHandler.js +16 -10
  105. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  106. package/lib/commonjs/handlers/NativeViewGestureHandler.js +17 -12
  107. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  108. package/lib/commonjs/handlers/PanGestureHandler.js +20 -31
  109. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  110. package/lib/commonjs/handlers/PinchGestureHandler.js +14 -8
  111. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  112. package/lib/commonjs/handlers/PressabilityDebugView.js +0 -1
  113. package/lib/commonjs/handlers/PressabilityDebugView.js.map +1 -1
  114. package/lib/commonjs/handlers/PressabilityDebugView.web.js +0 -1
  115. package/lib/commonjs/handlers/PressabilityDebugView.web.js.map +1 -1
  116. package/lib/commonjs/handlers/RotationGestureHandler.js +14 -8
  117. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  118. package/lib/commonjs/handlers/TapGestureHandler.js +16 -10
  119. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  120. package/lib/commonjs/handlers/createHandler.js +55 -135
  121. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  122. package/lib/commonjs/handlers/createNativeWrapper.js +17 -27
  123. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -1
  124. package/lib/commonjs/handlers/customDirectEventTypes.js +0 -1
  125. package/lib/commonjs/handlers/customDirectEventTypes.js.map +1 -1
  126. package/lib/commonjs/handlers/customDirectEventTypes.web.js +1 -2
  127. package/lib/commonjs/handlers/customDirectEventTypes.web.js.map +1 -1
  128. package/lib/commonjs/handlers/gestureHandlerCommon.js +9 -10
  129. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -1
  130. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -1
  131. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js +5 -14
  132. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  133. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js +10 -20
  134. package/lib/commonjs/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  135. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js +9 -29
  136. package/lib/commonjs/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  137. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js +1 -10
  138. package/lib/commonjs/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  139. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +12 -37
  140. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  141. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js +0 -3
  142. package/lib/commonjs/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  143. package/lib/commonjs/handlers/gestures/GestureDetector/types.js.map +1 -1
  144. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js +12 -24
  145. package/lib/commonjs/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  146. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -48
  147. package/lib/commonjs/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  148. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js +3 -13
  149. package/lib/commonjs/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  150. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js +2 -9
  151. package/lib/commonjs/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  152. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +8 -16
  153. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  154. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +28 -56
  155. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  156. package/lib/commonjs/handlers/gestures/eventReceiver.js +14 -46
  157. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -1
  158. package/lib/commonjs/handlers/gestures/flingGesture.js +5 -12
  159. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -1
  160. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +8 -19
  161. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -1
  162. package/lib/commonjs/handlers/gestures/gesture.js +44 -84
  163. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -1
  164. package/lib/commonjs/handlers/gestures/gestureComposition.js +17 -31
  165. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -1
  166. package/lib/commonjs/handlers/gestures/gestureObjects.js +1 -27
  167. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -1
  168. package/lib/commonjs/handlers/gestures/gestureStateManager.js +3 -9
  169. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -1
  170. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js +2 -7
  171. package/lib/commonjs/handlers/gestures/gestureStateManager.web.js.map +1 -1
  172. package/lib/commonjs/handlers/gestures/hoverGesture.js +11 -25
  173. package/lib/commonjs/handlers/gestures/hoverGesture.js.map +1 -1
  174. package/lib/commonjs/handlers/gestures/longPressGesture.js +6 -14
  175. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -1
  176. package/lib/commonjs/handlers/gestures/manualGesture.js +0 -6
  177. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -1
  178. package/lib/commonjs/handlers/gestures/nativeGesture.js +5 -12
  179. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -1
  180. package/lib/commonjs/handlers/gestures/panGesture.js +18 -43
  181. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -1
  182. package/lib/commonjs/handlers/gestures/pinchGesture.js +2 -9
  183. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -1
  184. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +1 -8
  185. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -1
  186. package/lib/commonjs/handlers/gestures/rotationGesture.js +2 -9
  187. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -1
  188. package/lib/commonjs/handlers/gestures/tapGesture.js +10 -22
  189. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -1
  190. package/lib/commonjs/handlers/getNextHandlerTag.js +0 -1
  191. package/lib/commonjs/handlers/getNextHandlerTag.js.map +1 -1
  192. package/lib/commonjs/handlers/handlersRegistry.js +11 -21
  193. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  194. package/lib/commonjs/handlers/utils.js +6 -26
  195. package/lib/commonjs/handlers/utils.js.map +1 -1
  196. package/lib/commonjs/index.js +75 -104
  197. package/lib/commonjs/index.js.map +1 -1
  198. package/lib/commonjs/init.js +4 -11
  199. package/lib/commonjs/init.js.map +1 -1
  200. package/lib/commonjs/jestUtils/index.js +4 -5
  201. package/lib/commonjs/jestUtils/index.js.map +1 -1
  202. package/lib/commonjs/jestUtils/jestUtils.js +19 -83
  203. package/lib/commonjs/jestUtils/jestUtils.js.map +1 -1
  204. package/lib/commonjs/mocks.js +5 -15
  205. package/lib/commonjs/mocks.js.map +1 -1
  206. package/lib/commonjs/mountRegistry.js +3 -12
  207. package/lib/commonjs/mountRegistry.js.map +1 -1
  208. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js +1 -5
  209. package/lib/commonjs/specs/NativeRNGestureHandlerModule.js.map +1 -1
  210. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js +2 -7
  211. package/lib/commonjs/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  212. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js +2 -7
  213. package/lib/commonjs/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  214. package/lib/commonjs/typeUtils.js.map +1 -1
  215. package/lib/commonjs/utils.js +15 -30
  216. package/lib/commonjs/utils.js.map +1 -1
  217. package/lib/commonjs/web/Gestures.js +5 -23
  218. package/lib/commonjs/web/Gestures.js.map +1 -1
  219. package/lib/commonjs/web/constants.js +2 -4
  220. package/lib/commonjs/web/constants.js.map +1 -1
  221. package/lib/commonjs/web/detectors/RotationGestureDetector.js +26 -62
  222. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  223. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +36 -65
  224. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  225. package/lib/commonjs/web/handlers/FlingGestureHandler.js +12 -55
  226. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  227. package/lib/commonjs/web/handlers/GestureHandler.js +160 -273
  228. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  229. package/lib/commonjs/web/handlers/HoverGestureHandler.js +8 -21
  230. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  231. package/lib/commonjs/web/handlers/IGestureHandler.js.map +1 -1
  232. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +12 -53
  233. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  234. package/lib/commonjs/web/handlers/ManualGestureHandler.js +1 -11
  235. package/lib/commonjs/web/handlers/ManualGestureHandler.js.map +1 -1
  236. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +21 -62
  237. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  238. package/lib/commonjs/web/handlers/PanGestureHandler.js +23 -138
  239. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  240. package/lib/commonjs/web/handlers/PinchGestureHandler.js +19 -56
  241. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  242. package/lib/commonjs/web/handlers/RotationGestureHandler.js +16 -54
  243. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  244. package/lib/commonjs/web/handlers/TapGestureHandler.js +10 -71
  245. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  246. package/lib/commonjs/web/interfaces.js +9 -17
  247. package/lib/commonjs/web/interfaces.js.map +1 -1
  248. package/lib/commonjs/web/tools/CircularBuffer.js +17 -29
  249. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  250. package/lib/commonjs/web/tools/EventManager.js +7 -41
  251. package/lib/commonjs/web/tools/EventManager.js.map +1 -1
  252. package/lib/commonjs/web/tools/GestureHandlerDelegate.js.map +1 -1
  253. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +51 -118
  254. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  255. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +37 -58
  256. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  257. package/lib/commonjs/web/tools/InteractionManager.js +21 -40
  258. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  259. package/lib/commonjs/web/tools/KeyboardEventManager.js +4 -26
  260. package/lib/commonjs/web/tools/KeyboardEventManager.js.map +1 -1
  261. package/lib/commonjs/web/tools/LeastSquareSolver.js +30 -67
  262. package/lib/commonjs/web/tools/LeastSquareSolver.js.map +1 -1
  263. package/lib/commonjs/web/tools/NodeManager.js +9 -16
  264. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  265. package/lib/commonjs/web/tools/PointerEventManager.js +10 -45
  266. package/lib/commonjs/web/tools/PointerEventManager.js.map +1 -1
  267. package/lib/commonjs/web/tools/PointerTracker.js +24 -60
  268. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  269. package/lib/commonjs/web/tools/Vector.js +3 -18
  270. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  271. package/lib/commonjs/web/tools/VelocityTracker.js +10 -32
  272. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  273. package/lib/commonjs/web/tools/WheelEventManager.js +4 -17
  274. package/lib/commonjs/web/tools/WheelEventManager.js.map +1 -1
  275. package/lib/commonjs/web/utils.js +26 -55
  276. package/lib/commonjs/web/utils.js.map +1 -1
  277. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js +7 -19
  278. package/lib/commonjs/web_hammer/DiscreteGestureHandler.js.map +1 -1
  279. package/lib/commonjs/web_hammer/DraggingGestureHandler.js +3 -13
  280. package/lib/commonjs/web_hammer/DraggingGestureHandler.js.map +1 -1
  281. package/lib/commonjs/web_hammer/Errors.js +0 -3
  282. package/lib/commonjs/web_hammer/Errors.js.map +1 -1
  283. package/lib/commonjs/web_hammer/FlingGestureHandler.js +13 -44
  284. package/lib/commonjs/web_hammer/FlingGestureHandler.js.map +1 -1
  285. package/lib/commonjs/web_hammer/GestureHandler.js +55 -142
  286. package/lib/commonjs/web_hammer/GestureHandler.js.map +1 -1
  287. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js +2 -11
  288. package/lib/commonjs/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  289. package/lib/commonjs/web_hammer/LongPressGestureHandler.js +5 -19
  290. package/lib/commonjs/web_hammer/LongPressGestureHandler.js.map +1 -1
  291. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js +16 -24
  292. package/lib/commonjs/web_hammer/NativeViewGestureHandler.js.map +1 -1
  293. package/lib/commonjs/web_hammer/NodeManager.js +9 -16
  294. package/lib/commonjs/web_hammer/NodeManager.js.map +1 -1
  295. package/lib/commonjs/web_hammer/PanGestureHandler.js +8 -49
  296. package/lib/commonjs/web_hammer/PanGestureHandler.js.map +1 -1
  297. package/lib/commonjs/web_hammer/PinchGestureHandler.js +2 -11
  298. package/lib/commonjs/web_hammer/PinchGestureHandler.js.map +1 -1
  299. package/lib/commonjs/web_hammer/PressGestureHandler.js +15 -43
  300. package/lib/commonjs/web_hammer/PressGestureHandler.js.map +1 -1
  301. package/lib/commonjs/web_hammer/RotationGestureHandler.js +2 -13
  302. package/lib/commonjs/web_hammer/RotationGestureHandler.js.map +1 -1
  303. package/lib/commonjs/web_hammer/TapGestureHandler.js +33 -52
  304. package/lib/commonjs/web_hammer/TapGestureHandler.js.map +1 -1
  305. package/lib/commonjs/web_hammer/constants.js +13 -26
  306. package/lib/commonjs/web_hammer/constants.js.map +1 -1
  307. package/lib/commonjs/web_hammer/utils.js +4 -14
  308. package/lib/commonjs/web_hammer/utils.js.map +1 -1
  309. package/lib/module/ActionType.js +3 -1
  310. package/lib/module/ActionType.js.map +1 -1
  311. package/lib/module/Directions.js +9 -3
  312. package/lib/module/Directions.js.map +1 -1
  313. package/lib/module/EnableNewWebImplementation.js +2 -5
  314. package/lib/module/EnableNewWebImplementation.js.map +1 -1
  315. package/lib/module/GestureHandlerRootViewContext.js.map +1 -1
  316. package/lib/module/PlatformConstants.js +0 -1
  317. package/lib/module/PlatformConstants.js.map +1 -1
  318. package/lib/module/PlatformConstants.web.js +0 -1
  319. package/lib/module/PlatformConstants.web.js.map +1 -1
  320. package/lib/module/PointerType.js +3 -4
  321. package/lib/module/PointerType.js.map +1 -1
  322. package/lib/module/RNGestureHandlerModule.js +1 -0
  323. package/lib/module/RNGestureHandlerModule.js.map +1 -1
  324. package/lib/module/RNGestureHandlerModule.web.js +12 -22
  325. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  326. package/lib/module/RNGestureHandlerModule.windows.js +18 -17
  327. package/lib/module/RNGestureHandlerModule.windows.js.map +1 -1
  328. package/lib/module/RNRenderer.js.map +1 -1
  329. package/lib/module/RNRenderer.web.js.map +1 -1
  330. package/lib/module/State.js +4 -1
  331. package/lib/module/State.js.map +1 -1
  332. package/lib/module/TouchEventType.js +3 -1
  333. package/lib/module/TouchEventType.js.map +1 -1
  334. package/lib/module/components/DrawerLayout.js +87 -99
  335. package/lib/module/components/DrawerLayout.js.map +1 -1
  336. package/lib/module/components/GestureButtons.js +27 -55
  337. package/lib/module/components/GestureButtons.js.map +1 -1
  338. package/lib/module/components/GestureButtonsProps.js.map +1 -1
  339. package/lib/module/components/GestureComponents.js +17 -12
  340. package/lib/module/components/GestureComponents.js.map +1 -1
  341. package/lib/module/components/GestureComponents.web.js +4 -4
  342. package/lib/module/components/GestureComponents.web.js.map +1 -1
  343. package/lib/module/components/GestureHandlerButton.js.map +1 -1
  344. package/lib/module/components/GestureHandlerButton.web.js +1 -2
  345. package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
  346. package/lib/module/components/GestureHandlerRootView.android.js +1 -2
  347. package/lib/module/components/GestureHandlerRootView.android.js.map +1 -1
  348. package/lib/module/components/GestureHandlerRootView.js +1 -2
  349. package/lib/module/components/GestureHandlerRootView.js.map +1 -1
  350. package/lib/module/components/GestureHandlerRootView.web.js +1 -2
  351. package/lib/module/components/GestureHandlerRootView.web.js.map +1 -1
  352. package/lib/module/components/Pressable/Pressable.js +44 -61
  353. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  354. package/lib/module/components/Pressable/PressableProps.js.map +1 -1
  355. package/lib/module/components/Pressable/index.js.map +1 -1
  356. package/lib/module/components/Pressable/utils.js +4 -14
  357. package/lib/module/components/Pressable/utils.js.map +1 -1
  358. package/lib/module/components/ReanimatedDrawerLayout.js +34 -56
  359. package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
  360. package/lib/module/components/ReanimatedSwipeable.js +57 -44
  361. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  362. package/lib/module/components/Swipeable.js +28 -59
  363. package/lib/module/components/Swipeable.js.map +1 -1
  364. package/lib/module/components/Text.js +14 -13
  365. package/lib/module/components/Text.js.map +1 -1
  366. package/lib/module/components/gestureHandlerRootHOC.js +2 -2
  367. package/lib/module/components/gestureHandlerRootHOC.js.map +1 -1
  368. package/lib/module/components/touchables/GenericTouchable.js +34 -63
  369. package/lib/module/components/touchables/GenericTouchable.js.map +1 -1
  370. package/lib/module/components/touchables/GenericTouchableProps.js.map +1 -1
  371. package/lib/module/components/touchables/TouchableHighlight.js +16 -23
  372. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  373. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +11 -19
  374. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  375. package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
  376. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  377. package/lib/module/components/touchables/TouchableNativeFeedbackProps.js.map +1 -1
  378. package/lib/module/components/touchables/TouchableOpacity.js +13 -14
  379. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  380. package/lib/module/components/touchables/TouchableWithoutFeedback.js +9 -2
  381. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  382. package/lib/module/components/touchables/index.js.map +1 -1
  383. package/lib/module/findNodeHandle.js.map +1 -1
  384. package/lib/module/findNodeHandle.web.js +9 -8
  385. package/lib/module/findNodeHandle.web.js.map +1 -1
  386. package/lib/module/getReactNativeVersion.js.map +1 -1
  387. package/lib/module/getReactNativeVersion.web.js.map +1 -1
  388. package/lib/module/getShadowNodeFromRef.js +13 -13
  389. package/lib/module/getShadowNodeFromRef.js.map +1 -1
  390. package/lib/module/getShadowNodeFromRef.web.js.map +1 -1
  391. package/lib/module/ghQueueMicrotask.js.map +1 -1
  392. package/lib/module/handlers/FlingGestureHandler.js +13 -0
  393. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  394. package/lib/module/handlers/ForceTouchGestureHandler.js +16 -8
  395. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  396. package/lib/module/handlers/GestureHandlerEventPayload.js.map +1 -1
  397. package/lib/module/handlers/LongPressGestureHandler.js +13 -0
  398. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  399. package/lib/module/handlers/NativeViewGestureHandler.js +13 -0
  400. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  401. package/lib/module/handlers/PanGestureHandler.js +15 -19
  402. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  403. package/lib/module/handlers/PinchGestureHandler.js +13 -0
  404. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  405. package/lib/module/handlers/PressabilityDebugView.js.map +1 -1
  406. package/lib/module/handlers/PressabilityDebugView.web.js.map +1 -1
  407. package/lib/module/handlers/RotationGestureHandler.js +13 -0
  408. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  409. package/lib/module/handlers/TapGestureHandler.js +13 -0
  410. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  411. package/lib/module/handlers/createHandler.js +54 -108
  412. package/lib/module/handlers/createHandler.js.map +1 -1
  413. package/lib/module/handlers/createNativeWrapper.js +12 -17
  414. package/lib/module/handlers/createNativeWrapper.js.map +1 -1
  415. package/lib/module/handlers/customDirectEventTypes.js.map +1 -1
  416. package/lib/module/handlers/customDirectEventTypes.web.js.map +1 -1
  417. package/lib/module/handlers/gestureHandlerCommon.js +9 -4
  418. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -1
  419. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -1
  420. package/lib/module/handlers/gestures/GestureDetector/Wrap.js +3 -4
  421. package/lib/module/handlers/gestures/GestureDetector/Wrap.js.map +1 -1
  422. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js +5 -6
  423. package/lib/module/handlers/gestures/GestureDetector/Wrap.web.js.map +1 -1
  424. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js +8 -16
  425. package/lib/module/handlers/gestures/GestureDetector/attachHandlers.js.map +1 -1
  426. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js +0 -1
  427. package/lib/module/handlers/gestures/GestureDetector/dropHandlers.js.map +1 -1
  428. package/lib/module/handlers/gestures/GestureDetector/index.js +9 -15
  429. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  430. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js +0 -2
  431. package/lib/module/handlers/gestures/GestureDetector/needsToReattach.js.map +1 -1
  432. package/lib/module/handlers/gestures/GestureDetector/types.js.map +1 -1
  433. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js +11 -14
  434. package/lib/module/handlers/gestures/GestureDetector/updateHandlers.js.map +1 -1
  435. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js +12 -39
  436. package/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.js.map +1 -1
  437. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +5 -5
  438. package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
  439. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js +2 -6
  440. package/lib/module/handlers/gestures/GestureDetector/useMountReactions.js.map +1 -1
  441. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +7 -9
  442. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  443. package/lib/module/handlers/gestures/GestureDetector/utils.js +25 -30
  444. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  445. package/lib/module/handlers/gestures/eventReceiver.js +14 -38
  446. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -1
  447. package/lib/module/handlers/gestures/flingGesture.js +5 -9
  448. package/lib/module/handlers/gestures/flingGesture.js.map +1 -1
  449. package/lib/module/handlers/gestures/forceTouchGesture.js +8 -17
  450. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -1
  451. package/lib/module/handlers/gestures/gesture.js +44 -73
  452. package/lib/module/handlers/gestures/gesture.js.map +1 -1
  453. package/lib/module/handlers/gestures/gestureComposition.js +16 -24
  454. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -1
  455. package/lib/module/handlers/gestures/gestureObjects.js +1 -14
  456. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -1
  457. package/lib/module/handlers/gestures/gestureStateManager.js +3 -4
  458. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -1
  459. package/lib/module/handlers/gestures/gestureStateManager.web.js +0 -1
  460. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  461. package/lib/module/handlers/gestures/hoverGesture.js +9 -18
  462. package/lib/module/handlers/gestures/hoverGesture.js.map +1 -1
  463. package/lib/module/handlers/gestures/longPressGesture.js +6 -11
  464. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -1
  465. package/lib/module/handlers/gestures/manualGesture.js +0 -4
  466. package/lib/module/handlers/gestures/manualGesture.js.map +1 -1
  467. package/lib/module/handlers/gestures/nativeGesture.js +5 -9
  468. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -1
  469. package/lib/module/handlers/gestures/panGesture.js +18 -41
  470. package/lib/module/handlers/gestures/panGesture.js.map +1 -1
  471. package/lib/module/handlers/gestures/pinchGesture.js +2 -7
  472. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -1
  473. package/lib/module/handlers/gestures/reanimatedWrapper.js +0 -5
  474. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
  475. package/lib/module/handlers/gestures/rotationGesture.js +2 -7
  476. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -1
  477. package/lib/module/handlers/gestures/tapGesture.js +10 -19
  478. package/lib/module/handlers/gestures/tapGesture.js.map +1 -1
  479. package/lib/module/handlers/getNextHandlerTag.js.map +1 -1
  480. package/lib/module/handlers/handlersRegistry.js +6 -8
  481. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  482. package/lib/module/handlers/utils.js +4 -13
  483. package/lib/module/handlers/utils.js.map +1 -1
  484. package/lib/module/index.js.map +1 -1
  485. package/lib/module/init.js +3 -2
  486. package/lib/module/init.js.map +1 -1
  487. package/lib/module/jestUtils/index.js.map +1 -1
  488. package/lib/module/jestUtils/jestUtils.js +20 -66
  489. package/lib/module/jestUtils/jestUtils.js.map +1 -1
  490. package/lib/module/mocks.js +3 -7
  491. package/lib/module/mocks.js.map +1 -1
  492. package/lib/module/mountRegistry.js +3 -10
  493. package/lib/module/mountRegistry.js.map +1 -1
  494. package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
  495. package/lib/module/specs/RNGestureHandlerButtonNativeComponent.js.map +1 -1
  496. package/lib/module/specs/RNGestureHandlerRootViewNativeComponent.js.map +1 -1
  497. package/lib/module/typeUtils.js.map +1 -1
  498. package/lib/module/utils.js +8 -13
  499. package/lib/module/utils.js.map +1 -1
  500. package/lib/module/web/Gestures.js +2 -1
  501. package/lib/module/web/Gestures.js.map +1 -1
  502. package/lib/module/web/constants.js.map +1 -1
  503. package/lib/module/web/detectors/RotationGestureDetector.js +26 -59
  504. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  505. package/lib/module/web/detectors/ScaleGestureDetector.js +36 -61
  506. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  507. package/lib/module/web/handlers/FlingGestureHandler.js +11 -45
  508. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  509. package/lib/module/web/handlers/GestureHandler.js +159 -259
  510. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  511. package/lib/module/web/handlers/HoverGestureHandler.js +7 -13
  512. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  513. package/lib/module/web/handlers/IGestureHandler.js.map +1 -1
  514. package/lib/module/web/handlers/LongPressGestureHandler.js +11 -46
  515. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  516. package/lib/module/web/handlers/ManualGestureHandler.js +0 -6
  517. package/lib/module/web/handlers/ManualGestureHandler.js.map +1 -1
  518. package/lib/module/web/handlers/NativeViewGestureHandler.js +20 -54
  519. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  520. package/lib/module/web/handlers/PanGestureHandler.js +22 -129
  521. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  522. package/lib/module/web/handlers/PinchGestureHandler.js +18 -48
  523. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  524. package/lib/module/web/handlers/RotationGestureHandler.js +15 -46
  525. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  526. package/lib/module/web/handlers/TapGestureHandler.js +9 -63
  527. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  528. package/lib/module/web/interfaces.js +9 -14
  529. package/lib/module/web/interfaces.js.map +1 -1
  530. package/lib/module/web/tools/CircularBuffer.js +17 -27
  531. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  532. package/lib/module/web/tools/EventManager.js +7 -39
  533. package/lib/module/web/tools/EventManager.js.map +1 -1
  534. package/lib/module/web/tools/GestureHandlerDelegate.js.map +1 -1
  535. package/lib/module/web/tools/GestureHandlerOrchestrator.js +50 -111
  536. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  537. package/lib/module/web/tools/GestureHandlerWebDelegate.js +36 -47
  538. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  539. package/lib/module/web/tools/InteractionManager.js +21 -35
  540. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  541. package/lib/module/web/tools/KeyboardEventManager.js +3 -19
  542. package/lib/module/web/tools/KeyboardEventManager.js.map +1 -1
  543. package/lib/module/web/tools/LeastSquareSolver.js +30 -65
  544. package/lib/module/web/tools/LeastSquareSolver.js.map +1 -1
  545. package/lib/module/web/tools/NodeManager.js +9 -14
  546. package/lib/module/web/tools/NodeManager.js.map +1 -1
  547. package/lib/module/web/tools/PointerEventManager.js +9 -35
  548. package/lib/module/web/tools/PointerEventManager.js.map +1 -1
  549. package/lib/module/web/tools/PointerTracker.js +23 -54
  550. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  551. package/lib/module/web/tools/Vector.js +3 -14
  552. package/lib/module/web/tools/Vector.js.map +1 -1
  553. package/lib/module/web/tools/VelocityTracker.js +9 -26
  554. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  555. package/lib/module/web/tools/WheelEventManager.js +3 -10
  556. package/lib/module/web/tools/WheelEventManager.js.map +1 -1
  557. package/lib/module/web/utils.js +21 -40
  558. package/lib/module/web/utils.js.map +1 -1
  559. package/lib/module/web_hammer/DiscreteGestureHandler.js +4 -13
  560. package/lib/module/web_hammer/DiscreteGestureHandler.js.map +1 -1
  561. package/lib/module/web_hammer/DraggingGestureHandler.js +0 -5
  562. package/lib/module/web_hammer/DraggingGestureHandler.js.map +1 -1
  563. package/lib/module/web_hammer/Errors.js +0 -1
  564. package/lib/module/web_hammer/Errors.js.map +1 -1
  565. package/lib/module/web_hammer/FlingGestureHandler.js +10 -35
  566. package/lib/module/web_hammer/FlingGestureHandler.js.map +1 -1
  567. package/lib/module/web_hammer/GestureHandler.js +53 -130
  568. package/lib/module/web_hammer/GestureHandler.js.map +1 -1
  569. package/lib/module/web_hammer/IndiscreteGestureHandler.js +1 -6
  570. package/lib/module/web_hammer/IndiscreteGestureHandler.js.map +1 -1
  571. package/lib/module/web_hammer/LongPressGestureHandler.js +2 -11
  572. package/lib/module/web_hammer/LongPressGestureHandler.js.map +1 -1
  573. package/lib/module/web_hammer/NativeViewGestureHandler.js +12 -12
  574. package/lib/module/web_hammer/NativeViewGestureHandler.js.map +1 -1
  575. package/lib/module/web_hammer/NodeManager.js +6 -8
  576. package/lib/module/web_hammer/NodeManager.js.map +1 -1
  577. package/lib/module/web_hammer/PanGestureHandler.js +6 -40
  578. package/lib/module/web_hammer/PanGestureHandler.js.map +1 -1
  579. package/lib/module/web_hammer/PinchGestureHandler.js +0 -5
  580. package/lib/module/web_hammer/PinchGestureHandler.js.map +1 -1
  581. package/lib/module/web_hammer/PressGestureHandler.js +13 -34
  582. package/lib/module/web_hammer/PressGestureHandler.js.map +1 -1
  583. package/lib/module/web_hammer/RotationGestureHandler.js +0 -6
  584. package/lib/module/web_hammer/RotationGestureHandler.js.map +1 -1
  585. package/lib/module/web_hammer/TapGestureHandler.js +31 -45
  586. package/lib/module/web_hammer/TapGestureHandler.js.map +1 -1
  587. package/lib/module/web_hammer/constants.js +2 -1
  588. package/lib/module/web_hammer/constants.js.map +1 -1
  589. package/lib/module/web_hammer/utils.js +2 -2
  590. package/lib/module/web_hammer/utils.js.map +1 -1
  591. package/lib/typescript/components/DrawerLayout.d.ts +27 -0
  592. package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
  593. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
  594. package/lib/typescript/components/Pressable/index.d.ts +1 -1
  595. package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
  596. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
  597. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
  598. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
  599. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
  600. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
  601. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
  602. package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
  603. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
  604. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
  605. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
  606. package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
  607. package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
  608. package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
  609. package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
  610. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  611. package/lib/typescript/index.d.ts +1 -1
  612. package/lib/typescript/utils.d.ts +1 -1
  613. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
  614. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
  615. package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
  616. package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
  617. package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
  618. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
  619. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
  620. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
  621. package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
  622. package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
  623. package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
  624. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
  625. package/package.json +2 -2
  626. package/src/RNGestureHandlerModule.web.ts +2 -2
  627. package/src/components/DrawerLayout.tsx +29 -0
  628. package/src/components/GestureButtons.tsx +13 -2
  629. package/src/components/GestureButtonsProps.ts +31 -2
  630. package/src/components/Pressable/Pressable.tsx +22 -5
  631. package/src/components/Pressable/PressableProps.tsx +4 -11
  632. package/src/components/Pressable/index.ts +4 -1
  633. package/src/components/ReanimatedSwipeable.tsx +97 -66
  634. package/src/components/Text.tsx +13 -4
  635. package/src/components/touchables/TouchableHighlight.tsx +5 -0
  636. package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
  637. package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
  638. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
  639. package/src/components/touchables/TouchableOpacity.tsx +5 -0
  640. package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
  641. package/src/findNodeHandle.web.ts +6 -0
  642. package/src/handlers/FlingGestureHandler.ts +10 -0
  643. package/src/handlers/ForceTouchGestureHandler.ts +9 -0
  644. package/src/handlers/LongPressGestureHandler.ts +10 -0
  645. package/src/handlers/NativeViewGestureHandler.ts +10 -0
  646. package/src/handlers/PanGestureHandler.ts +10 -0
  647. package/src/handlers/PinchGestureHandler.ts +10 -0
  648. package/src/handlers/RotationGestureHandler.ts +10 -0
  649. package/src/handlers/TapGestureHandler.ts +10 -0
  650. package/src/handlers/createHandler.tsx +11 -4
  651. package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
  652. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
  653. package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
  654. package/src/handlers/handlersRegistry.ts +7 -3
  655. package/src/index.ts +4 -1
  656. package/src/utils.ts +2 -2
  657. package/src/web/detectors/RotationGestureDetector.ts +22 -22
  658. package/src/web/detectors/ScaleGestureDetector.ts +24 -24
  659. package/src/web/handlers/FlingGestureHandler.ts +6 -7
  660. package/src/web/handlers/GestureHandler.ts +115 -105
  661. package/src/web/handlers/HoverGestureHandler.ts +2 -2
  662. package/src/web/handlers/IGestureHandler.ts +12 -13
  663. package/src/web/handlers/LongPressGestureHandler.ts +7 -7
  664. package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
  665. package/src/web/handlers/PanGestureHandler.ts +17 -17
  666. package/src/web/handlers/PinchGestureHandler.ts +17 -21
  667. package/src/web/handlers/RotationGestureHandler.ts +12 -12
  668. package/src/web/handlers/TapGestureHandler.ts +4 -6
  669. package/src/web/tools/CircularBuffer.ts +15 -15
  670. package/src/web/tools/GestureHandlerDelegate.ts +1 -1
  671. package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
  672. package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
  673. package/src/web/tools/InteractionManager.ts +16 -16
  674. package/src/web/tools/NodeManager.ts +2 -2
  675. package/src/web/tools/PointerTracker.ts +20 -20
  676. package/src/web/tools/Vector.ts +1 -1
  677. package/src/web/tools/VelocityTracker.ts +1 -1
@@ -3,71 +3,48 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.DrawerKeyboardDismissMode = exports.DrawerLockMode = exports.DrawerType = exports.DrawerState = exports.DrawerPosition = void 0;
7
-
6
+ exports.default = exports.DrawerType = exports.DrawerState = exports.DrawerPosition = exports.DrawerLockMode = exports.DrawerKeyboardDismissMode = void 0;
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
13
-
14
10
  var _gestureObjects = require("../handlers/gestures/gestureObjects");
15
-
16
11
  var _GestureDetector = require("../handlers/gestures/GestureDetector");
17
-
18
12
  var _gestureHandlerCommon = require("../handlers/gestureHandlerCommon");
19
-
20
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
-
22
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
15
  // This component is based on RN's DrawerLayoutAndroid API
25
16
  // It's cross-compatible with all platforms despite
26
17
  // `DrawerLayoutAndroid` only being available on android
27
- const DRAG_TOSS = 0.05;
28
- let DrawerPosition;
29
- exports.DrawerPosition = DrawerPosition;
30
18
 
31
- (function (DrawerPosition) {
19
+ const DRAG_TOSS = 0.05;
20
+ let DrawerPosition = exports.DrawerPosition = /*#__PURE__*/function (DrawerPosition) {
32
21
  DrawerPosition[DrawerPosition["LEFT"] = 0] = "LEFT";
33
22
  DrawerPosition[DrawerPosition["RIGHT"] = 1] = "RIGHT";
34
- })(DrawerPosition || (exports.DrawerPosition = DrawerPosition = {}));
35
-
36
- let DrawerState;
37
- exports.DrawerState = DrawerState;
38
-
39
- (function (DrawerState) {
23
+ return DrawerPosition;
24
+ }({});
25
+ let DrawerState = exports.DrawerState = /*#__PURE__*/function (DrawerState) {
40
26
  DrawerState[DrawerState["IDLE"] = 0] = "IDLE";
41
27
  DrawerState[DrawerState["DRAGGING"] = 1] = "DRAGGING";
42
28
  DrawerState[DrawerState["SETTLING"] = 2] = "SETTLING";
43
- })(DrawerState || (exports.DrawerState = DrawerState = {}));
44
-
45
- let DrawerType;
46
- exports.DrawerType = DrawerType;
47
-
48
- (function (DrawerType) {
29
+ return DrawerState;
30
+ }({});
31
+ let DrawerType = exports.DrawerType = /*#__PURE__*/function (DrawerType) {
49
32
  DrawerType[DrawerType["FRONT"] = 0] = "FRONT";
50
33
  DrawerType[DrawerType["BACK"] = 1] = "BACK";
51
34
  DrawerType[DrawerType["SLIDE"] = 2] = "SLIDE";
52
- })(DrawerType || (exports.DrawerType = DrawerType = {}));
53
-
54
- let DrawerLockMode;
55
- exports.DrawerLockMode = DrawerLockMode;
56
-
57
- (function (DrawerLockMode) {
35
+ return DrawerType;
36
+ }({});
37
+ let DrawerLockMode = exports.DrawerLockMode = /*#__PURE__*/function (DrawerLockMode) {
58
38
  DrawerLockMode[DrawerLockMode["UNLOCKED"] = 0] = "UNLOCKED";
59
39
  DrawerLockMode[DrawerLockMode["LOCKED_CLOSED"] = 1] = "LOCKED_CLOSED";
60
40
  DrawerLockMode[DrawerLockMode["LOCKED_OPEN"] = 2] = "LOCKED_OPEN";
61
- })(DrawerLockMode || (exports.DrawerLockMode = DrawerLockMode = {}));
62
-
63
- let DrawerKeyboardDismissMode;
64
- exports.DrawerKeyboardDismissMode = DrawerKeyboardDismissMode;
65
-
66
- (function (DrawerKeyboardDismissMode) {
41
+ return DrawerLockMode;
42
+ }({});
43
+ let DrawerKeyboardDismissMode = exports.DrawerKeyboardDismissMode = /*#__PURE__*/function (DrawerKeyboardDismissMode) {
67
44
  DrawerKeyboardDismissMode[DrawerKeyboardDismissMode["NONE"] = 0] = "NONE";
68
45
  DrawerKeyboardDismissMode[DrawerKeyboardDismissMode["ON_DRAG"] = 1] = "ON_DRAG";
69
- })(DrawerKeyboardDismissMode || (exports.DrawerKeyboardDismissMode = DrawerKeyboardDismissMode = {}));
70
-
46
+ return DrawerKeyboardDismissMode;
47
+ }({});
71
48
  const defaultProps = {
72
49
  drawerWidth: 200,
73
50
  drawerPosition: DrawerPosition.LEFT,
@@ -111,7 +88,9 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
111
88
  onDrawerStateChanged
112
89
  } = props;
113
90
  const isFromLeft = drawerPosition === DrawerPosition.LEFT;
114
- const sideCorrection = isFromLeft ? 1 : -1; // While closing the drawer when user starts gesture in the greyed out part of the window,
91
+ const sideCorrection = isFromLeft ? 1 : -1;
92
+
93
+ // While closing the drawer when user starts gesture in the greyed out part of the window,
115
94
  // we want the drawer to follow only once the finger reaches the edge of the drawer.
116
95
  // See the diagram for reference. * = starting finger position, < = current finger position
117
96
  // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
@@ -127,18 +106,15 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
127
106
  onDrawerSlide && (0, _reactNativeReanimated.runOnJS)(onDrawerSlide)(openValue.value);
128
107
  }, []);
129
108
  const isDrawerOpen = (0, _reactNativeReanimated.useSharedValue)(false);
130
-
131
109
  const handleContainerLayout = ({
132
110
  nativeEvent
133
111
  }) => {
134
112
  setContainerWidth(nativeEvent.layout.width);
135
113
  };
136
-
137
114
  const emitStateChanged = (0, _react.useCallback)((newState, drawerWillShow) => {
138
115
  'worklet';
139
116
 
140
117
  var _runOnJS;
141
-
142
118
  onDrawerStateChanged && ((_runOnJS = (0, _reactNativeReanimated.runOnJS)(onDrawerStateChanged)) === null || _runOnJS === void 0 ? void 0 : _runOnJS(newState, drawerWillShow));
143
119
  }, [onDrawerStateChanged]);
144
120
  const drawerAnimatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => ({
@@ -146,17 +122,19 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
146
122
  }));
147
123
  const overlayAnimatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => ({
148
124
  pointerEvents: isDrawerOpen.value ? 'auto' : 'none'
149
- })); // While the drawer is hidden, it's hitSlop overflows onto the main view by edgeWidth
150
- // This way it can be swiped open even when it's hidden
125
+ }));
151
126
 
127
+ // While the drawer is hidden, it's hitSlop overflows onto the main view by edgeWidth
128
+ // This way it can be swiped open even when it's hidden
152
129
  const [edgeHitSlop, setEdgeHitSlop] = (0, _react.useState)(isFromLeft ? {
153
130
  left: 0,
154
131
  width: edgeWidth
155
132
  } : {
156
133
  right: 0,
157
134
  width: edgeWidth
158
- }); // gestureOrientation is 1 if the gesture is expected to move from left to right and -1 otherwise
135
+ });
159
136
 
137
+ // gestureOrientation is 1 if the gesture is expected to move from left to right and -1 otherwise
160
138
  const gestureOrientation = (0, _react.useMemo)(() => sideCorrection * (drawerOpened ? -1 : 1), [sideCorrection, drawerOpened]);
161
139
  (0, _react.useEffect)(() => {
162
140
  setEdgeHitSlop(isFromLeft ? {
@@ -174,11 +152,9 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
174
152
  isDrawerOpen.value = willShow;
175
153
  emitStateChanged(DrawerState.SETTLING, willShow);
176
154
  (0, _reactNativeReanimated.runOnJS)(setDrawerState)(DrawerState.SETTLING);
177
-
178
155
  if (hideStatusBar) {
179
156
  (0, _reactNativeReanimated.runOnJS)(_reactNative.StatusBar.setHidden)(willShow, statusBarAnimation);
180
157
  }
181
-
182
158
  const normalizedToValue = (0, _reactNativeReanimated.interpolate)(toValue, [0, drawerWidth], [0, 1], _reactNativeReanimated.Extrapolation.CLAMP);
183
159
  const normalizedInitialVelocity = (0, _reactNativeReanimated.interpolate)(initialVelocity, [0, drawerWidth], [0, 1], _reactNativeReanimated.Extrapolation.CLAMP);
184
160
  openValue.value = (0, _reactNativeReanimated.withSpring)(normalizedToValue, {
@@ -192,14 +168,11 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
192
168
  emitStateChanged(DrawerState.IDLE, willShow);
193
169
  (0, _reactNativeReanimated.runOnJS)(setDrawerOpened)(willShow);
194
170
  (0, _reactNativeReanimated.runOnJS)(setDrawerState)(DrawerState.IDLE);
195
-
196
171
  if (willShow) {
197
172
  var _runOnJS2;
198
-
199
173
  onDrawerOpen && ((_runOnJS2 = (0, _reactNativeReanimated.runOnJS)(onDrawerOpen)) === null || _runOnJS2 === void 0 ? void 0 : _runOnJS2());
200
174
  } else {
201
175
  var _runOnJS3;
202
-
203
176
  onDrawerClose && ((_runOnJS3 = (0, _reactNativeReanimated.runOnJS)(onDrawerClose)) === null || _runOnJS3 === void 0 ? void 0 : _runOnJS3());
204
177
  }
205
178
  }
@@ -213,7 +186,6 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
213
186
  velocityX,
214
187
  x: touchX
215
188
  } = event;
216
-
217
189
  if (drawerPosition !== DrawerPosition.LEFT) {
218
190
  // See description in _updateAnimatedEvent about why events are flipped
219
191
  // for right-side drawer
@@ -221,18 +193,14 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
221
193
  touchX = containerWidth - touchX;
222
194
  velocityX = -velocityX;
223
195
  }
224
-
225
196
  const gestureStartX = touchX - dragX;
226
197
  let dragOffsetBasedOnStart = 0;
227
-
228
198
  if (drawerType === DrawerType.FRONT) {
229
199
  dragOffsetBasedOnStart = gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;
230
200
  }
231
-
232
201
  const startOffsetX = dragX + dragOffsetBasedOnStart + (isDrawerOpen.value ? drawerWidth : 0);
233
202
  const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;
234
203
  const shouldOpen = projOffsetX > drawerWidth / 2;
235
-
236
204
  if (shouldOpen) {
237
205
  animateDrawer(drawerWidth, velocityX);
238
206
  } else {
@@ -243,14 +211,12 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
243
211
  'worklet';
244
212
 
245
213
  var _options$initialVeloc;
246
-
247
214
  animateDrawer(drawerWidth, (_options$initialVeloc = options.initialVelocity) !== null && _options$initialVeloc !== void 0 ? _options$initialVeloc : 0, options.animationSpeed);
248
215
  }, [animateDrawer, drawerWidth]);
249
216
  const closeDrawer = (0, _react.useCallback)((options = {}) => {
250
217
  'worklet';
251
218
 
252
219
  var _options$initialVeloc2;
253
-
254
220
  animateDrawer(0, (_options$initialVeloc2 = options.initialVelocity) !== null && _options$initialVeloc2 !== void 0 ? _options$initialVeloc2 : 0, options.animationSpeed);
255
221
  }, [animateDrawer]);
256
222
  const overlayDismissGesture = (0, _react.useMemo)(() => _gestureObjects.GestureObjects.Tap().maxDistance(25).onEnd(() => {
@@ -271,11 +237,9 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
271
237
  return _gestureObjects.GestureObjects.Pan().activeCursor(activeCursor).mouseButton(mouseButton).hitSlop(drawerOpened ? fillHitSlop : edgeHitSlop).minDistance(drawerOpened ? 100 : 0).activeOffsetX(gestureOrientation * minSwipeDistance).failOffsetY([-15, 15]).simultaneousWithExternalGesture(overlayDismissGesture).enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture).enabled(drawerState !== DrawerState.SETTLING && (drawerOpened ? drawerLockMode !== DrawerLockMode.LOCKED_OPEN : drawerLockMode !== DrawerLockMode.LOCKED_CLOSED)).onStart(() => {
272
238
  emitStateChanged(DrawerState.DRAGGING, false);
273
239
  (0, _reactNativeReanimated.runOnJS)(setDrawerState)(DrawerState.DRAGGING);
274
-
275
240
  if (keyboardDismissMode === DrawerKeyboardDismissMode.ON_DRAG) {
276
241
  (0, _reactNativeReanimated.runOnJS)(_reactNative.Keyboard.dismiss)();
277
242
  }
278
-
279
243
  if (hideStatusBar) {
280
244
  (0, _reactNativeReanimated.runOnJS)(_reactNative.StatusBar.setHidden)(true, statusBarAnimation);
281
245
  }
@@ -285,8 +249,9 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
285
249
  const adjustedTranslation = Math.max(drawerOpened ? startedOutsideTranslation : 0, startedInsideTranslation);
286
250
  openValue.value = (0, _reactNativeReanimated.interpolate)(adjustedTranslation, [-drawerWidth, 0, drawerWidth], [1, 0, 1], _reactNativeReanimated.Extrapolation.CLAMP);
287
251
  }).onEnd(handleRelease);
288
- }, [drawerLockMode, openValue, drawerWidth, emitStateChanged, gestureOrientation, handleRelease, edgeHitSlop, fillHitSlop, minSwipeDistance, hideStatusBar, keyboardDismissMode, overlayDismissGesture, drawerOpened, isFromLeft, containerWidth, sideCorrection, drawerState, activeCursor, enableTrackpadTwoFingerGesture, mouseButton, statusBarAnimation]); // When using RTL, row and row-reverse flex directions are flipped.
252
+ }, [drawerLockMode, openValue, drawerWidth, emitStateChanged, gestureOrientation, handleRelease, edgeHitSlop, fillHitSlop, minSwipeDistance, hideStatusBar, keyboardDismissMode, overlayDismissGesture, drawerOpened, isFromLeft, containerWidth, sideCorrection, drawerState, activeCursor, enableTrackpadTwoFingerGesture, mouseButton, statusBarAnimation]);
289
253
 
254
+ // When using RTL, row and row-reverse flex directions are flipped.
290
255
  const reverseContentDirection = _reactNative.I18nManager.isRTL ? isFromLeft : !isFromLeft;
291
256
  const dynamicDrawerStyles = {
292
257
  backgroundColor: drawerBackgroundColor,
@@ -296,7 +261,6 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
296
261
  if (drawerType === DrawerType.FRONT) {
297
262
  return {};
298
263
  }
299
-
300
264
  return {
301
265
  transform: [{
302
266
  translateX: (0, _reactNativeReanimated.interpolate)(openValue.value, [0, 1], [0, drawerWidth * sideCorrection], _reactNativeReanimated.Extrapolation.CLAMP)
@@ -307,7 +271,6 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
307
271
  const closedDrawerOffset = drawerWidth * -sideCorrection;
308
272
  const isBack = drawerType === DrawerType.BACK;
309
273
  const isIdle = drawerState === DrawerState.IDLE;
310
-
311
274
  if (isBack) {
312
275
  return {
313
276
  transform: [{
@@ -316,15 +279,12 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
316
279
  flexDirection: reverseContentDirection ? 'row-reverse' : 'row'
317
280
  };
318
281
  }
319
-
320
282
  let translateX = 0;
321
-
322
283
  if (isIdle) {
323
284
  translateX = drawerOpened ? 0 : closedDrawerOffset;
324
285
  } else {
325
286
  translateX = (0, _reactNativeReanimated.interpolate)(openValue.value, [0, 1], [closedDrawerOffset, 0], _reactNativeReanimated.Extrapolation.CLAMP);
326
287
  }
327
-
328
288
  return {
329
289
  transform: [{
330
290
  translateX
@@ -364,25 +324,27 @@ const DrawerLayout = /*#__PURE__*/(0, _react.forwardRef)(function DrawerLayout(p
364
324
  style: dynamicDrawerStyles
365
325
  }, renderNavigationView(openValue)))));
366
326
  });
367
- var _default = DrawerLayout;
368
- exports.default = _default;
369
-
327
+ var _default = exports.default = DrawerLayout;
370
328
  const styles = _reactNative.StyleSheet.create({
371
- drawerContainer: { ..._reactNative.StyleSheet.absoluteFillObject,
329
+ drawerContainer: {
330
+ ..._reactNative.StyleSheet.absoluteFillObject,
372
331
  zIndex: 1001,
373
332
  flexDirection: 'row'
374
333
  },
375
- containerInFront: { ..._reactNative.StyleSheet.absoluteFillObject,
334
+ containerInFront: {
335
+ ..._reactNative.StyleSheet.absoluteFillObject,
376
336
  zIndex: 1002
377
337
  },
378
- containerOnBack: { ..._reactNative.StyleSheet.absoluteFillObject
338
+ containerOnBack: {
339
+ ..._reactNative.StyleSheet.absoluteFillObject
379
340
  },
380
341
  main: {
381
342
  flex: 1,
382
343
  zIndex: 0,
383
344
  overflow: 'hidden'
384
345
  },
385
- overlay: { ..._reactNative.StyleSheet.absoluteFillObject,
346
+ overlay: {
347
+ ..._reactNative.StyleSheet.absoluteFillObject,
386
348
  zIndex: 1000
387
349
  }
388
350
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["ReanimatedDrawerLayout.tsx"],"names":["DRAG_TOSS","DrawerPosition","DrawerState","DrawerType","DrawerLockMode","DrawerKeyboardDismissMode","defaultProps","drawerWidth","drawerPosition","LEFT","drawerType","FRONT","edgeWidth","minSwipeDistance","overlayColor","drawerLockMode","UNLOCKED","enableTrackpadTwoFingerGesture","activeCursor","mouseButton","MouseButton","statusBarAnimation","DrawerLayout","props","ref","containerWidth","setContainerWidth","drawerState","setDrawerState","IDLE","drawerOpened","setDrawerOpened","drawerBackgroundColor","drawerContainerStyle","contentContainerStyle","hideStatusBar","keyboardDismissMode","userSelect","enableContextMenu","renderNavigationView","onDrawerSlide","onDrawerClose","onDrawerOpen","onDrawerStateChanged","isFromLeft","sideCorrection","openValue","value","isDrawerOpen","handleContainerLayout","nativeEvent","layout","width","emitStateChanged","newState","drawerWillShow","drawerAnimatedProps","accessibilityViewIsModal","overlayAnimatedProps","pointerEvents","edgeHitSlop","setEdgeHitSlop","left","right","gestureOrientation","animateDrawer","toValue","initialVelocity","animationSpeed","willShow","SETTLING","StatusBar","setHidden","normalizedToValue","Extrapolation","CLAMP","normalizedInitialVelocity","overshootClamping","velocity","mass","damping","stiffness","finished","handleRelease","event","translationX","dragX","velocityX","x","touchX","gestureStartX","dragOffsetBasedOnStart","startOffsetX","projOffsetX","shouldOpen","openDrawer","options","closeDrawer","overlayDismissGesture","Gesture","Tap","maxDistance","onEnd","LOCKED_OPEN","overlayAnimatedStyle","opacity","backgroundColor","fillHitSlop","panGesture","Pan","hitSlop","minDistance","activeOffsetX","failOffsetY","simultaneousWithExternalGesture","enabled","LOCKED_CLOSED","onStart","DRAGGING","ON_DRAG","Keyboard","dismiss","onUpdate","startedOutsideTranslation","startedInsideTranslation","adjustedTranslation","Math","max","reverseContentDirection","I18nManager","isRTL","dynamicDrawerStyles","containerStyles","transform","translateX","drawerAnimatedStyle","closedDrawerOffset","isBack","BACK","isIdle","flexDirection","containerAnimatedProps","importantForAccessibility","Platform","OS","undefined","children","styles","main","containerOnBack","containerInFront","overlay","drawerContainer","StyleSheet","create","absoluteFillObject","zIndex","flex","overflow"],"mappings":"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","sourcesContent":["// This component is based on RN's DrawerLayoutAndroid API\n// It's cross-compatible with all platforms despite\n// `DrawerLayoutAndroid` only being available on android\n\nimport React, {\n ReactNode,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react';\n\nimport {\n StyleSheet,\n Keyboard,\n StatusBar,\n I18nManager,\n StatusBarAnimation,\n StyleProp,\n ViewStyle,\n LayoutChangeEvent,\n Platform,\n} from 'react-native';\n\nimport Animated, {\n Extrapolation,\n SharedValue,\n interpolate,\n runOnJS,\n useAnimatedProps,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withSpring,\n} from 'react-native-reanimated';\n\nimport { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../handlers/gestures/GestureDetector';\nimport {\n UserSelect,\n ActiveCursor,\n MouseButton,\n HitSlop,\n GestureStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport { PanGestureHandlerEventPayload } from '../handlers/GestureHandlerEventPayload';\n\nconst DRAG_TOSS = 0.05;\n\nexport enum DrawerPosition {\n LEFT,\n RIGHT,\n}\n\nexport enum DrawerState {\n IDLE,\n DRAGGING,\n SETTLING,\n}\n\nexport enum DrawerType {\n FRONT,\n BACK,\n SLIDE,\n}\n\nexport enum DrawerLockMode {\n UNLOCKED,\n LOCKED_CLOSED,\n LOCKED_OPEN,\n}\n\nexport enum DrawerKeyboardDismissMode {\n NONE,\n ON_DRAG,\n}\n\nexport interface DrawerLayoutProps {\n /**\n * This attribute is present in the native android implementation already and is one\n * of the required params. The gesture handler version of DrawerLayout makes it\n * possible for the function passed as `renderNavigationView` to take an\n * Animated value as a parameter that indicates the progress of drawer\n * opening/closing animation (progress value is 0 when closed and 1 when\n * opened). This can be used by the drawer component to animated its children\n * while the drawer is opening or closing.\n */\n renderNavigationView: (\n progressAnimatedValue: SharedValue<number>\n ) => ReactNode;\n\n /**\n * Determines the side from which the drawer will open.\n */\n drawerPosition?: DrawerPosition;\n\n /**\n * Width of the drawer.\n */\n drawerWidth?: number;\n\n /**\n * Background color of the drawer.\n */\n drawerBackgroundColor?: string;\n\n /**\n * Specifies the lock mode of the drawer.\n * Programatic opening/closing isn't affected by the lock mode. Defaults to `UNLOCKED`.\n * - `UNLOCKED` - the drawer will respond to gestures.\n * - `LOCKED_CLOSED` - the drawer will move freely until it settles in a closed position, then the gestures will be disabled.\n * - `LOCKED_OPEN` - the drawer will move freely until it settles in an opened position, then the gestures will be disabled.\n */\n drawerLockMode?: DrawerLockMode;\n\n /**\n * Determines if system keyboard should be closed upon dragging the drawer.\n */\n keyboardDismissMode?: DrawerKeyboardDismissMode;\n\n /**\n * Called when the drawer is closed.\n */\n onDrawerClose?: () => void;\n\n /**\n * Called when the drawer is opened.\n */\n onDrawerOpen?: () => void;\n\n /**\n * Called when the status of the drawer changes.\n */\n onDrawerStateChanged?: (\n newState: DrawerState,\n drawerWillShow: boolean\n ) => void;\n\n /**\n * Type of animation that will play when opening the drawer.\n */\n drawerType?: DrawerType;\n\n /**\n * Defines how far from the edge of the content view the gesture should\n * activate.\n */\n edgeWidth?: number;\n\n /**\n * Minimal distance to swipe before the drawer starts moving.\n */\n minSwipeDistance?: number;\n\n /**\n * When set to true Drawer component will use\n * {@link https://reactnative.dev/docs/statusbar StatusBar} API to hide the OS\n * status bar whenever the drawer is pulled or when its in an \"open\" state.\n */\n hideStatusBar?: boolean;\n\n /**\n * @default 'slide'\n *\n * Can be used when hideStatusBar is set to true and will select the animation\n * used for hiding/showing the status bar. See\n * {@link https://reactnative.dev/docs/statusbar StatusBar} documentation for\n * more details\n */\n statusBarAnimation?: StatusBarAnimation;\n\n /**\n * @default 'rgba(0, 0, 0, 0.7)'\n *\n * Color of the background overlay.\n * Animated from `0%` to `100%` as the drawer opens.\n */\n overlayColor?: string;\n\n /**\n * Style wrapping the content.\n */\n contentContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style wrapping the drawer.\n */\n drawerContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n onDrawerSlide?: (position: number) => void;\n\n // Implicit `children` prop has been removed in @types/react^18.0.\n /**\n * Elements that will be rendered inside the content view.\n */\n children?: ReactNode | ((openValue?: SharedValue<number>) => ReactNode);\n\n /**\n * @default 'none'\n * Sets whether the text inside both the drawer and the context window can be selected.\n * Values: 'none' | 'text' | 'auto'\n */\n userSelect?: UserSelect;\n\n /**\n * @default 'auto'\n * Sets the displayed cursor pictogram when the drawer is being dragged.\n * Values: see CSS cursor values\n */\n activeCursor?: ActiveCursor;\n\n /**\n * @default 'MouseButton.LEFT'\n * Allows to choose which mouse button should underlying pan handler react to.\n */\n mouseButton?: MouseButton;\n\n /**\n * @default 'false if MouseButton.RIGHT is specified'\n * Allows to enable/disable context menu.\n */\n enableContextMenu?: boolean;\n}\n\nexport type DrawerMovementOption = {\n initialVelocity?: number;\n animationSpeed?: number;\n};\n\nexport interface DrawerLayoutMethods {\n openDrawer: (options?: DrawerMovementOption) => void;\n closeDrawer: (options?: DrawerMovementOption) => void;\n}\n\nconst defaultProps = {\n drawerWidth: 200,\n drawerPosition: DrawerPosition.LEFT,\n drawerType: DrawerType.FRONT,\n edgeWidth: 20,\n minSwipeDistance: 3,\n overlayColor: 'rgba(0, 0, 0, 0.7)',\n drawerLockMode: DrawerLockMode.UNLOCKED,\n enableTrackpadTwoFingerGesture: false,\n activeCursor: 'auto' as ActiveCursor,\n mouseButton: MouseButton.LEFT,\n statusBarAnimation: 'slide' as StatusBarAnimation,\n};\n\nconst DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(\n function DrawerLayout(props: DrawerLayoutProps, ref) {\n const [containerWidth, setContainerWidth] = useState(0);\n const [drawerState, setDrawerState] = useState<DrawerState>(\n DrawerState.IDLE\n );\n const [drawerOpened, setDrawerOpened] = useState(false);\n\n const {\n drawerPosition = defaultProps.drawerPosition,\n drawerWidth = defaultProps.drawerWidth,\n drawerType = defaultProps.drawerType,\n drawerBackgroundColor,\n drawerContainerStyle,\n contentContainerStyle,\n minSwipeDistance = defaultProps.minSwipeDistance,\n edgeWidth = defaultProps.edgeWidth,\n drawerLockMode = defaultProps.drawerLockMode,\n overlayColor = defaultProps.overlayColor,\n enableTrackpadTwoFingerGesture = defaultProps.enableTrackpadTwoFingerGesture,\n activeCursor = defaultProps.activeCursor,\n mouseButton = defaultProps.mouseButton,\n statusBarAnimation = defaultProps.statusBarAnimation,\n hideStatusBar,\n keyboardDismissMode,\n userSelect,\n enableContextMenu,\n renderNavigationView,\n onDrawerSlide,\n onDrawerClose,\n onDrawerOpen,\n onDrawerStateChanged,\n } = props;\n\n const isFromLeft = drawerPosition === DrawerPosition.LEFT;\n\n const sideCorrection = isFromLeft ? 1 : -1;\n\n // While closing the drawer when user starts gesture in the greyed out part of the window,\n // we want the drawer to follow only once the finger reaches the edge of the drawer.\n // See the diagram for reference. * = starting finger position, < = current finger position\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|..<*..| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n\n const openValue = useSharedValue<number>(0);\n\n useDerivedValue(() => {\n onDrawerSlide && runOnJS(onDrawerSlide)(openValue.value);\n }, []);\n\n const isDrawerOpen = useSharedValue(false);\n\n const handleContainerLayout = ({ nativeEvent }: LayoutChangeEvent) => {\n setContainerWidth(nativeEvent.layout.width);\n };\n\n const emitStateChanged = useCallback(\n (newState: DrawerState, drawerWillShow: boolean) => {\n 'worklet';\n onDrawerStateChanged &&\n runOnJS(onDrawerStateChanged)?.(newState, drawerWillShow);\n },\n [onDrawerStateChanged]\n );\n\n const drawerAnimatedProps = useAnimatedProps(() => ({\n accessibilityViewIsModal: isDrawerOpen.value,\n }));\n\n const overlayAnimatedProps = useAnimatedProps(() => ({\n pointerEvents: isDrawerOpen.value ? ('auto' as const) : ('none' as const),\n }));\n\n // While the drawer is hidden, it's hitSlop overflows onto the main view by edgeWidth\n // This way it can be swiped open even when it's hidden\n const [edgeHitSlop, setEdgeHitSlop] = useState<HitSlop>(\n isFromLeft\n ? { left: 0, width: edgeWidth }\n : { right: 0, width: edgeWidth }\n );\n\n // gestureOrientation is 1 if the gesture is expected to move from left to right and -1 otherwise\n const gestureOrientation = useMemo(\n () => sideCorrection * (drawerOpened ? -1 : 1),\n [sideCorrection, drawerOpened]\n );\n\n useEffect(() => {\n setEdgeHitSlop(\n isFromLeft\n ? { left: 0, width: edgeWidth }\n : { right: 0, width: edgeWidth }\n );\n }, [isFromLeft, edgeWidth]);\n\n const animateDrawer = useCallback(\n (toValue: number, initialVelocity: number, animationSpeed?: number) => {\n 'worklet';\n const willShow = toValue !== 0;\n isDrawerOpen.value = willShow;\n\n emitStateChanged(DrawerState.SETTLING, willShow);\n runOnJS(setDrawerState)(DrawerState.SETTLING);\n\n if (hideStatusBar) {\n runOnJS(StatusBar.setHidden)(willShow, statusBarAnimation);\n }\n\n const normalizedToValue = interpolate(\n toValue,\n [0, drawerWidth],\n [0, 1],\n Extrapolation.CLAMP\n );\n\n const normalizedInitialVelocity = interpolate(\n initialVelocity,\n [0, drawerWidth],\n [0, 1],\n Extrapolation.CLAMP\n );\n\n openValue.value = withSpring(\n normalizedToValue,\n {\n overshootClamping: true,\n velocity: normalizedInitialVelocity,\n mass: animationSpeed ? 1 / animationSpeed : 1,\n damping: 40,\n stiffness: 500,\n },\n (finished) => {\n if (finished) {\n emitStateChanged(DrawerState.IDLE, willShow);\n runOnJS(setDrawerOpened)(willShow);\n runOnJS(setDrawerState)(DrawerState.IDLE);\n if (willShow) {\n onDrawerOpen && runOnJS(onDrawerOpen)?.();\n } else {\n onDrawerClose && runOnJS(onDrawerClose)?.();\n }\n }\n }\n );\n },\n [\n openValue,\n emitStateChanged,\n isDrawerOpen,\n hideStatusBar,\n onDrawerClose,\n onDrawerOpen,\n drawerWidth,\n statusBarAnimation,\n ]\n );\n\n const handleRelease = useCallback(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n 'worklet';\n let { translationX: dragX, velocityX, x: touchX } = event;\n\n if (drawerPosition !== DrawerPosition.LEFT) {\n // See description in _updateAnimatedEvent about why events are flipped\n // for right-side drawer\n dragX = -dragX;\n touchX = containerWidth - touchX;\n velocityX = -velocityX;\n }\n\n const gestureStartX = touchX - dragX;\n let dragOffsetBasedOnStart = 0;\n\n if (drawerType === DrawerType.FRONT) {\n dragOffsetBasedOnStart =\n gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;\n }\n\n const startOffsetX =\n dragX +\n dragOffsetBasedOnStart +\n (isDrawerOpen.value ? drawerWidth : 0);\n\n const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;\n\n const shouldOpen = projOffsetX > drawerWidth / 2;\n\n if (shouldOpen) {\n animateDrawer(drawerWidth, velocityX);\n } else {\n animateDrawer(0, velocityX);\n }\n },\n [\n animateDrawer,\n containerWidth,\n drawerPosition,\n drawerType,\n drawerWidth,\n isDrawerOpen,\n ]\n );\n\n const openDrawer = useCallback(\n (options: DrawerMovementOption = {}) => {\n 'worklet';\n animateDrawer(\n drawerWidth,\n options.initialVelocity ?? 0,\n options.animationSpeed\n );\n },\n [animateDrawer, drawerWidth]\n );\n\n const closeDrawer = useCallback(\n (options: DrawerMovementOption = {}) => {\n 'worklet';\n animateDrawer(0, options.initialVelocity ?? 0, options.animationSpeed);\n },\n [animateDrawer]\n );\n\n const overlayDismissGesture = useMemo(\n () =>\n Gesture.Tap()\n .maxDistance(25)\n .onEnd(() => {\n if (\n isDrawerOpen.value &&\n drawerLockMode !== DrawerLockMode.LOCKED_OPEN\n ) {\n closeDrawer();\n }\n }),\n [closeDrawer, isDrawerOpen, drawerLockMode]\n );\n\n const overlayAnimatedStyle = useAnimatedStyle(() => ({\n opacity: openValue.value,\n backgroundColor: overlayColor,\n }));\n\n const fillHitSlop = useMemo(\n () => (isFromLeft ? { left: drawerWidth } : { right: drawerWidth }),\n [drawerWidth, isFromLeft]\n );\n\n const panGesture = useMemo(() => {\n return Gesture.Pan()\n .activeCursor(activeCursor)\n .mouseButton(mouseButton)\n .hitSlop(drawerOpened ? fillHitSlop : edgeHitSlop)\n .minDistance(drawerOpened ? 100 : 0)\n .activeOffsetX(gestureOrientation * minSwipeDistance)\n .failOffsetY([-15, 15])\n .simultaneousWithExternalGesture(overlayDismissGesture)\n .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)\n .enabled(\n drawerState !== DrawerState.SETTLING &&\n (drawerOpened\n ? drawerLockMode !== DrawerLockMode.LOCKED_OPEN\n : drawerLockMode !== DrawerLockMode.LOCKED_CLOSED)\n )\n .onStart(() => {\n emitStateChanged(DrawerState.DRAGGING, false);\n runOnJS(setDrawerState)(DrawerState.DRAGGING);\n if (keyboardDismissMode === DrawerKeyboardDismissMode.ON_DRAG) {\n runOnJS(Keyboard.dismiss)();\n }\n if (hideStatusBar) {\n runOnJS(StatusBar.setHidden)(true, statusBarAnimation);\n }\n })\n .onUpdate((event) => {\n const startedOutsideTranslation = isFromLeft\n ? interpolate(\n event.x,\n [0, drawerWidth, drawerWidth + 1],\n [0, drawerWidth, drawerWidth]\n )\n : interpolate(\n event.x - containerWidth,\n [-drawerWidth - 1, -drawerWidth, 0],\n [drawerWidth, drawerWidth, 0]\n );\n\n const startedInsideTranslation =\n sideCorrection *\n (event.translationX +\n (drawerOpened ? drawerWidth * -gestureOrientation : 0));\n\n const adjustedTranslation = Math.max(\n drawerOpened ? startedOutsideTranslation : 0,\n startedInsideTranslation\n );\n\n openValue.value = interpolate(\n adjustedTranslation,\n [-drawerWidth, 0, drawerWidth],\n [1, 0, 1],\n Extrapolation.CLAMP\n );\n })\n .onEnd(handleRelease);\n }, [\n drawerLockMode,\n openValue,\n drawerWidth,\n emitStateChanged,\n gestureOrientation,\n handleRelease,\n edgeHitSlop,\n fillHitSlop,\n minSwipeDistance,\n hideStatusBar,\n keyboardDismissMode,\n overlayDismissGesture,\n drawerOpened,\n isFromLeft,\n containerWidth,\n sideCorrection,\n drawerState,\n activeCursor,\n enableTrackpadTwoFingerGesture,\n mouseButton,\n statusBarAnimation,\n ]);\n\n // When using RTL, row and row-reverse flex directions are flipped.\n const reverseContentDirection = I18nManager.isRTL\n ? isFromLeft\n : !isFromLeft;\n\n const dynamicDrawerStyles = {\n backgroundColor: drawerBackgroundColor,\n width: drawerWidth,\n };\n\n const containerStyles = useAnimatedStyle(() => {\n if (drawerType === DrawerType.FRONT) {\n return {};\n }\n\n return {\n transform: [\n {\n translateX: interpolate(\n openValue.value,\n [0, 1],\n [0, drawerWidth * sideCorrection],\n Extrapolation.CLAMP\n ),\n },\n ],\n };\n });\n\n const drawerAnimatedStyle = useAnimatedStyle(() => {\n const closedDrawerOffset = drawerWidth * -sideCorrection;\n const isBack = drawerType === DrawerType.BACK;\n const isIdle = drawerState === DrawerState.IDLE;\n\n if (isBack) {\n return {\n transform: [{ translateX: 0 }],\n flexDirection: reverseContentDirection ? 'row-reverse' : 'row',\n };\n }\n\n let translateX = 0;\n\n if (isIdle) {\n translateX = drawerOpened ? 0 : closedDrawerOffset;\n } else {\n translateX = interpolate(\n openValue.value,\n [0, 1],\n [closedDrawerOffset, 0],\n Extrapolation.CLAMP\n );\n }\n\n return {\n transform: [{ translateX }],\n flexDirection: reverseContentDirection ? 'row-reverse' : 'row',\n };\n });\n\n const containerAnimatedProps = useAnimatedProps(() => ({\n importantForAccessibility:\n Platform.OS === 'android'\n ? isDrawerOpen.value\n ? ('no-hide-descendants' as const)\n : ('yes' as const)\n : undefined,\n }));\n\n const children =\n typeof props.children === 'function'\n ? props.children(openValue) // renderer function\n : props.children;\n\n useImperativeHandle(\n ref,\n () => ({\n openDrawer,\n closeDrawer,\n }),\n [openDrawer, closeDrawer]\n );\n\n return (\n <GestureDetector\n gesture={panGesture}\n userSelect={userSelect}\n enableContextMenu={enableContextMenu}>\n <Animated.View style={styles.main} onLayout={handleContainerLayout}>\n <GestureDetector gesture={overlayDismissGesture}>\n <Animated.View\n style={[\n drawerType === DrawerType.FRONT\n ? styles.containerOnBack\n : styles.containerInFront,\n containerStyles,\n contentContainerStyle,\n ]}\n animatedProps={containerAnimatedProps}>\n {children}\n <Animated.View\n animatedProps={overlayAnimatedProps}\n style={[styles.overlay, overlayAnimatedStyle]}\n />\n </Animated.View>\n </GestureDetector>\n <Animated.View\n pointerEvents=\"box-none\"\n animatedProps={drawerAnimatedProps}\n style={[\n styles.drawerContainer,\n drawerAnimatedStyle,\n drawerContainerStyle,\n ]}>\n <Animated.View style={dynamicDrawerStyles}>\n {renderNavigationView(openValue)}\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </GestureDetector>\n );\n }\n);\n\nexport default DrawerLayout;\n\nconst styles = StyleSheet.create({\n drawerContainer: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1001,\n flexDirection: 'row',\n },\n containerInFront: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1002,\n },\n containerOnBack: {\n ...StyleSheet.absoluteFillObject,\n },\n main: {\n flex: 1,\n zIndex: 0,\n overflow: 'hidden',\n },\n overlay: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1000,\n },\n});\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_gestureObjects","_GestureDetector","_gestureHandlerCommon","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DRAG_TOSS","DrawerPosition","exports","DrawerState","DrawerType","DrawerLockMode","DrawerKeyboardDismissMode","defaultProps","drawerWidth","drawerPosition","LEFT","drawerType","FRONT","edgeWidth","minSwipeDistance","overlayColor","drawerLockMode","UNLOCKED","enableTrackpadTwoFingerGesture","activeCursor","mouseButton","MouseButton","statusBarAnimation","DrawerLayout","forwardRef","props","ref","containerWidth","setContainerWidth","useState","drawerState","setDrawerState","IDLE","drawerOpened","setDrawerOpened","drawerBackgroundColor","drawerContainerStyle","contentContainerStyle","hideStatusBar","keyboardDismissMode","userSelect","enableContextMenu","renderNavigationView","onDrawerSlide","onDrawerClose","onDrawerOpen","onDrawerStateChanged","isFromLeft","sideCorrection","openValue","useSharedValue","useDerivedValue","runOnJS","value","isDrawerOpen","handleContainerLayout","nativeEvent","layout","width","emitStateChanged","useCallback","newState","drawerWillShow","_runOnJS","drawerAnimatedProps","useAnimatedProps","accessibilityViewIsModal","overlayAnimatedProps","pointerEvents","edgeHitSlop","setEdgeHitSlop","left","right","gestureOrientation","useMemo","useEffect","animateDrawer","toValue","initialVelocity","animationSpeed","willShow","SETTLING","StatusBar","setHidden","normalizedToValue","interpolate","Extrapolation","CLAMP","normalizedInitialVelocity","withSpring","overshootClamping","velocity","mass","damping","stiffness","finished","_runOnJS2","_runOnJS3","handleRelease","event","translationX","dragX","velocityX","x","touchX","gestureStartX","dragOffsetBasedOnStart","startOffsetX","projOffsetX","shouldOpen","openDrawer","options","_options$initialVeloc","closeDrawer","_options$initialVeloc2","overlayDismissGesture","Gesture","Tap","maxDistance","onEnd","LOCKED_OPEN","overlayAnimatedStyle","useAnimatedStyle","opacity","backgroundColor","fillHitSlop","panGesture","Pan","hitSlop","minDistance","activeOffsetX","failOffsetY","simultaneousWithExternalGesture","enabled","LOCKED_CLOSED","onStart","DRAGGING","ON_DRAG","Keyboard","dismiss","onUpdate","startedOutsideTranslation","startedInsideTranslation","adjustedTranslation","Math","max","reverseContentDirection","I18nManager","isRTL","dynamicDrawerStyles","containerStyles","transform","translateX","drawerAnimatedStyle","closedDrawerOffset","isBack","BACK","isIdle","flexDirection","containerAnimatedProps","importantForAccessibility","Platform","OS","undefined","children","useImperativeHandle","createElement","GestureDetector","gesture","View","style","styles","main","onLayout","containerOnBack","containerInFront","animatedProps","overlay","drawerContainer","_default","StyleSheet","create","absoluteFillObject","zIndex","flex","overflow"],"sources":["ReanimatedDrawerLayout.tsx"],"sourcesContent":["// This component is based on RN's DrawerLayoutAndroid API\n// It's cross-compatible with all platforms despite\n// `DrawerLayoutAndroid` only being available on android\n\nimport React, {\n ReactNode,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react';\n\nimport {\n StyleSheet,\n Keyboard,\n StatusBar,\n I18nManager,\n StatusBarAnimation,\n StyleProp,\n ViewStyle,\n LayoutChangeEvent,\n Platform,\n} from 'react-native';\n\nimport Animated, {\n Extrapolation,\n SharedValue,\n interpolate,\n runOnJS,\n useAnimatedProps,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withSpring,\n} from 'react-native-reanimated';\n\nimport { GestureObjects as Gesture } from '../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../handlers/gestures/GestureDetector';\nimport {\n UserSelect,\n ActiveCursor,\n MouseButton,\n HitSlop,\n GestureStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport { PanGestureHandlerEventPayload } from '../handlers/GestureHandlerEventPayload';\n\nconst DRAG_TOSS = 0.05;\n\nexport enum DrawerPosition {\n LEFT,\n RIGHT,\n}\n\nexport enum DrawerState {\n IDLE,\n DRAGGING,\n SETTLING,\n}\n\nexport enum DrawerType {\n FRONT,\n BACK,\n SLIDE,\n}\n\nexport enum DrawerLockMode {\n UNLOCKED,\n LOCKED_CLOSED,\n LOCKED_OPEN,\n}\n\nexport enum DrawerKeyboardDismissMode {\n NONE,\n ON_DRAG,\n}\n\nexport interface DrawerLayoutProps {\n /**\n * This attribute is present in the native android implementation already and is one\n * of the required params. The gesture handler version of DrawerLayout makes it\n * possible for the function passed as `renderNavigationView` to take an\n * Animated value as a parameter that indicates the progress of drawer\n * opening/closing animation (progress value is 0 when closed and 1 when\n * opened). This can be used by the drawer component to animated its children\n * while the drawer is opening or closing.\n */\n renderNavigationView: (\n progressAnimatedValue: SharedValue<number>\n ) => ReactNode;\n\n /**\n * Determines the side from which the drawer will open.\n */\n drawerPosition?: DrawerPosition;\n\n /**\n * Width of the drawer.\n */\n drawerWidth?: number;\n\n /**\n * Background color of the drawer.\n */\n drawerBackgroundColor?: string;\n\n /**\n * Specifies the lock mode of the drawer.\n * Programatic opening/closing isn't affected by the lock mode. Defaults to `UNLOCKED`.\n * - `UNLOCKED` - the drawer will respond to gestures.\n * - `LOCKED_CLOSED` - the drawer will move freely until it settles in a closed position, then the gestures will be disabled.\n * - `LOCKED_OPEN` - the drawer will move freely until it settles in an opened position, then the gestures will be disabled.\n */\n drawerLockMode?: DrawerLockMode;\n\n /**\n * Determines if system keyboard should be closed upon dragging the drawer.\n */\n keyboardDismissMode?: DrawerKeyboardDismissMode;\n\n /**\n * Called when the drawer is closed.\n */\n onDrawerClose?: () => void;\n\n /**\n * Called when the drawer is opened.\n */\n onDrawerOpen?: () => void;\n\n /**\n * Called when the status of the drawer changes.\n */\n onDrawerStateChanged?: (\n newState: DrawerState,\n drawerWillShow: boolean\n ) => void;\n\n /**\n * Type of animation that will play when opening the drawer.\n */\n drawerType?: DrawerType;\n\n /**\n * Defines how far from the edge of the content view the gesture should\n * activate.\n */\n edgeWidth?: number;\n\n /**\n * Minimal distance to swipe before the drawer starts moving.\n */\n minSwipeDistance?: number;\n\n /**\n * When set to true Drawer component will use\n * {@link https://reactnative.dev/docs/statusbar StatusBar} API to hide the OS\n * status bar whenever the drawer is pulled or when its in an \"open\" state.\n */\n hideStatusBar?: boolean;\n\n /**\n * @default 'slide'\n *\n * Can be used when hideStatusBar is set to true and will select the animation\n * used for hiding/showing the status bar. See\n * {@link https://reactnative.dev/docs/statusbar StatusBar} documentation for\n * more details\n */\n statusBarAnimation?: StatusBarAnimation;\n\n /**\n * @default 'rgba(0, 0, 0, 0.7)'\n *\n * Color of the background overlay.\n * Animated from `0%` to `100%` as the drawer opens.\n */\n overlayColor?: string;\n\n /**\n * Style wrapping the content.\n */\n contentContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style wrapping the drawer.\n */\n drawerContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n onDrawerSlide?: (position: number) => void;\n\n // Implicit `children` prop has been removed in @types/react^18.0.\n /**\n * Elements that will be rendered inside the content view.\n */\n children?: ReactNode | ((openValue?: SharedValue<number>) => ReactNode);\n\n /**\n * @default 'none'\n * Sets whether the text inside both the drawer and the context window can be selected.\n * Values: 'none' | 'text' | 'auto'\n */\n userSelect?: UserSelect;\n\n /**\n * @default 'auto'\n * Sets the displayed cursor pictogram when the drawer is being dragged.\n * Values: see CSS cursor values\n */\n activeCursor?: ActiveCursor;\n\n /**\n * @default 'MouseButton.LEFT'\n * Allows to choose which mouse button should underlying pan handler react to.\n */\n mouseButton?: MouseButton;\n\n /**\n * @default 'false if MouseButton.RIGHT is specified'\n * Allows to enable/disable context menu.\n */\n enableContextMenu?: boolean;\n}\n\nexport type DrawerMovementOption = {\n initialVelocity?: number;\n animationSpeed?: number;\n};\n\nexport interface DrawerLayoutMethods {\n openDrawer: (options?: DrawerMovementOption) => void;\n closeDrawer: (options?: DrawerMovementOption) => void;\n}\n\nconst defaultProps = {\n drawerWidth: 200,\n drawerPosition: DrawerPosition.LEFT,\n drawerType: DrawerType.FRONT,\n edgeWidth: 20,\n minSwipeDistance: 3,\n overlayColor: 'rgba(0, 0, 0, 0.7)',\n drawerLockMode: DrawerLockMode.UNLOCKED,\n enableTrackpadTwoFingerGesture: false,\n activeCursor: 'auto' as ActiveCursor,\n mouseButton: MouseButton.LEFT,\n statusBarAnimation: 'slide' as StatusBarAnimation,\n};\n\nconst DrawerLayout = forwardRef<DrawerLayoutMethods, DrawerLayoutProps>(\n function DrawerLayout(props: DrawerLayoutProps, ref) {\n const [containerWidth, setContainerWidth] = useState(0);\n const [drawerState, setDrawerState] = useState<DrawerState>(\n DrawerState.IDLE\n );\n const [drawerOpened, setDrawerOpened] = useState(false);\n\n const {\n drawerPosition = defaultProps.drawerPosition,\n drawerWidth = defaultProps.drawerWidth,\n drawerType = defaultProps.drawerType,\n drawerBackgroundColor,\n drawerContainerStyle,\n contentContainerStyle,\n minSwipeDistance = defaultProps.minSwipeDistance,\n edgeWidth = defaultProps.edgeWidth,\n drawerLockMode = defaultProps.drawerLockMode,\n overlayColor = defaultProps.overlayColor,\n enableTrackpadTwoFingerGesture = defaultProps.enableTrackpadTwoFingerGesture,\n activeCursor = defaultProps.activeCursor,\n mouseButton = defaultProps.mouseButton,\n statusBarAnimation = defaultProps.statusBarAnimation,\n hideStatusBar,\n keyboardDismissMode,\n userSelect,\n enableContextMenu,\n renderNavigationView,\n onDrawerSlide,\n onDrawerClose,\n onDrawerOpen,\n onDrawerStateChanged,\n } = props;\n\n const isFromLeft = drawerPosition === DrawerPosition.LEFT;\n\n const sideCorrection = isFromLeft ? 1 : -1;\n\n // While closing the drawer when user starts gesture in the greyed out part of the window,\n // we want the drawer to follow only once the finger reaches the edge of the drawer.\n // See the diagram for reference. * = starting finger position, < = current finger position\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|..<*..| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n\n const openValue = useSharedValue<number>(0);\n\n useDerivedValue(() => {\n onDrawerSlide && runOnJS(onDrawerSlide)(openValue.value);\n }, []);\n\n const isDrawerOpen = useSharedValue(false);\n\n const handleContainerLayout = ({ nativeEvent }: LayoutChangeEvent) => {\n setContainerWidth(nativeEvent.layout.width);\n };\n\n const emitStateChanged = useCallback(\n (newState: DrawerState, drawerWillShow: boolean) => {\n 'worklet';\n onDrawerStateChanged &&\n runOnJS(onDrawerStateChanged)?.(newState, drawerWillShow);\n },\n [onDrawerStateChanged]\n );\n\n const drawerAnimatedProps = useAnimatedProps(() => ({\n accessibilityViewIsModal: isDrawerOpen.value,\n }));\n\n const overlayAnimatedProps = useAnimatedProps(() => ({\n pointerEvents: isDrawerOpen.value ? ('auto' as const) : ('none' as const),\n }));\n\n // While the drawer is hidden, it's hitSlop overflows onto the main view by edgeWidth\n // This way it can be swiped open even when it's hidden\n const [edgeHitSlop, setEdgeHitSlop] = useState<HitSlop>(\n isFromLeft\n ? { left: 0, width: edgeWidth }\n : { right: 0, width: edgeWidth }\n );\n\n // gestureOrientation is 1 if the gesture is expected to move from left to right and -1 otherwise\n const gestureOrientation = useMemo(\n () => sideCorrection * (drawerOpened ? -1 : 1),\n [sideCorrection, drawerOpened]\n );\n\n useEffect(() => {\n setEdgeHitSlop(\n isFromLeft\n ? { left: 0, width: edgeWidth }\n : { right: 0, width: edgeWidth }\n );\n }, [isFromLeft, edgeWidth]);\n\n const animateDrawer = useCallback(\n (toValue: number, initialVelocity: number, animationSpeed?: number) => {\n 'worklet';\n const willShow = toValue !== 0;\n isDrawerOpen.value = willShow;\n\n emitStateChanged(DrawerState.SETTLING, willShow);\n runOnJS(setDrawerState)(DrawerState.SETTLING);\n\n if (hideStatusBar) {\n runOnJS(StatusBar.setHidden)(willShow, statusBarAnimation);\n }\n\n const normalizedToValue = interpolate(\n toValue,\n [0, drawerWidth],\n [0, 1],\n Extrapolation.CLAMP\n );\n\n const normalizedInitialVelocity = interpolate(\n initialVelocity,\n [0, drawerWidth],\n [0, 1],\n Extrapolation.CLAMP\n );\n\n openValue.value = withSpring(\n normalizedToValue,\n {\n overshootClamping: true,\n velocity: normalizedInitialVelocity,\n mass: animationSpeed ? 1 / animationSpeed : 1,\n damping: 40,\n stiffness: 500,\n },\n (finished) => {\n if (finished) {\n emitStateChanged(DrawerState.IDLE, willShow);\n runOnJS(setDrawerOpened)(willShow);\n runOnJS(setDrawerState)(DrawerState.IDLE);\n if (willShow) {\n onDrawerOpen && runOnJS(onDrawerOpen)?.();\n } else {\n onDrawerClose && runOnJS(onDrawerClose)?.();\n }\n }\n }\n );\n },\n [\n openValue,\n emitStateChanged,\n isDrawerOpen,\n hideStatusBar,\n onDrawerClose,\n onDrawerOpen,\n drawerWidth,\n statusBarAnimation,\n ]\n );\n\n const handleRelease = useCallback(\n (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {\n 'worklet';\n let { translationX: dragX, velocityX, x: touchX } = event;\n\n if (drawerPosition !== DrawerPosition.LEFT) {\n // See description in _updateAnimatedEvent about why events are flipped\n // for right-side drawer\n dragX = -dragX;\n touchX = containerWidth - touchX;\n velocityX = -velocityX;\n }\n\n const gestureStartX = touchX - dragX;\n let dragOffsetBasedOnStart = 0;\n\n if (drawerType === DrawerType.FRONT) {\n dragOffsetBasedOnStart =\n gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;\n }\n\n const startOffsetX =\n dragX +\n dragOffsetBasedOnStart +\n (isDrawerOpen.value ? drawerWidth : 0);\n\n const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;\n\n const shouldOpen = projOffsetX > drawerWidth / 2;\n\n if (shouldOpen) {\n animateDrawer(drawerWidth, velocityX);\n } else {\n animateDrawer(0, velocityX);\n }\n },\n [\n animateDrawer,\n containerWidth,\n drawerPosition,\n drawerType,\n drawerWidth,\n isDrawerOpen,\n ]\n );\n\n const openDrawer = useCallback(\n (options: DrawerMovementOption = {}) => {\n 'worklet';\n animateDrawer(\n drawerWidth,\n options.initialVelocity ?? 0,\n options.animationSpeed\n );\n },\n [animateDrawer, drawerWidth]\n );\n\n const closeDrawer = useCallback(\n (options: DrawerMovementOption = {}) => {\n 'worklet';\n animateDrawer(0, options.initialVelocity ?? 0, options.animationSpeed);\n },\n [animateDrawer]\n );\n\n const overlayDismissGesture = useMemo(\n () =>\n Gesture.Tap()\n .maxDistance(25)\n .onEnd(() => {\n if (\n isDrawerOpen.value &&\n drawerLockMode !== DrawerLockMode.LOCKED_OPEN\n ) {\n closeDrawer();\n }\n }),\n [closeDrawer, isDrawerOpen, drawerLockMode]\n );\n\n const overlayAnimatedStyle = useAnimatedStyle(() => ({\n opacity: openValue.value,\n backgroundColor: overlayColor,\n }));\n\n const fillHitSlop = useMemo(\n () => (isFromLeft ? { left: drawerWidth } : { right: drawerWidth }),\n [drawerWidth, isFromLeft]\n );\n\n const panGesture = useMemo(() => {\n return Gesture.Pan()\n .activeCursor(activeCursor)\n .mouseButton(mouseButton)\n .hitSlop(drawerOpened ? fillHitSlop : edgeHitSlop)\n .minDistance(drawerOpened ? 100 : 0)\n .activeOffsetX(gestureOrientation * minSwipeDistance)\n .failOffsetY([-15, 15])\n .simultaneousWithExternalGesture(overlayDismissGesture)\n .enableTrackpadTwoFingerGesture(enableTrackpadTwoFingerGesture)\n .enabled(\n drawerState !== DrawerState.SETTLING &&\n (drawerOpened\n ? drawerLockMode !== DrawerLockMode.LOCKED_OPEN\n : drawerLockMode !== DrawerLockMode.LOCKED_CLOSED)\n )\n .onStart(() => {\n emitStateChanged(DrawerState.DRAGGING, false);\n runOnJS(setDrawerState)(DrawerState.DRAGGING);\n if (keyboardDismissMode === DrawerKeyboardDismissMode.ON_DRAG) {\n runOnJS(Keyboard.dismiss)();\n }\n if (hideStatusBar) {\n runOnJS(StatusBar.setHidden)(true, statusBarAnimation);\n }\n })\n .onUpdate((event) => {\n const startedOutsideTranslation = isFromLeft\n ? interpolate(\n event.x,\n [0, drawerWidth, drawerWidth + 1],\n [0, drawerWidth, drawerWidth]\n )\n : interpolate(\n event.x - containerWidth,\n [-drawerWidth - 1, -drawerWidth, 0],\n [drawerWidth, drawerWidth, 0]\n );\n\n const startedInsideTranslation =\n sideCorrection *\n (event.translationX +\n (drawerOpened ? drawerWidth * -gestureOrientation : 0));\n\n const adjustedTranslation = Math.max(\n drawerOpened ? startedOutsideTranslation : 0,\n startedInsideTranslation\n );\n\n openValue.value = interpolate(\n adjustedTranslation,\n [-drawerWidth, 0, drawerWidth],\n [1, 0, 1],\n Extrapolation.CLAMP\n );\n })\n .onEnd(handleRelease);\n }, [\n drawerLockMode,\n openValue,\n drawerWidth,\n emitStateChanged,\n gestureOrientation,\n handleRelease,\n edgeHitSlop,\n fillHitSlop,\n minSwipeDistance,\n hideStatusBar,\n keyboardDismissMode,\n overlayDismissGesture,\n drawerOpened,\n isFromLeft,\n containerWidth,\n sideCorrection,\n drawerState,\n activeCursor,\n enableTrackpadTwoFingerGesture,\n mouseButton,\n statusBarAnimation,\n ]);\n\n // When using RTL, row and row-reverse flex directions are flipped.\n const reverseContentDirection = I18nManager.isRTL\n ? isFromLeft\n : !isFromLeft;\n\n const dynamicDrawerStyles = {\n backgroundColor: drawerBackgroundColor,\n width: drawerWidth,\n };\n\n const containerStyles = useAnimatedStyle(() => {\n if (drawerType === DrawerType.FRONT) {\n return {};\n }\n\n return {\n transform: [\n {\n translateX: interpolate(\n openValue.value,\n [0, 1],\n [0, drawerWidth * sideCorrection],\n Extrapolation.CLAMP\n ),\n },\n ],\n };\n });\n\n const drawerAnimatedStyle = useAnimatedStyle(() => {\n const closedDrawerOffset = drawerWidth * -sideCorrection;\n const isBack = drawerType === DrawerType.BACK;\n const isIdle = drawerState === DrawerState.IDLE;\n\n if (isBack) {\n return {\n transform: [{ translateX: 0 }],\n flexDirection: reverseContentDirection ? 'row-reverse' : 'row',\n };\n }\n\n let translateX = 0;\n\n if (isIdle) {\n translateX = drawerOpened ? 0 : closedDrawerOffset;\n } else {\n translateX = interpolate(\n openValue.value,\n [0, 1],\n [closedDrawerOffset, 0],\n Extrapolation.CLAMP\n );\n }\n\n return {\n transform: [{ translateX }],\n flexDirection: reverseContentDirection ? 'row-reverse' : 'row',\n };\n });\n\n const containerAnimatedProps = useAnimatedProps(() => ({\n importantForAccessibility:\n Platform.OS === 'android'\n ? isDrawerOpen.value\n ? ('no-hide-descendants' as const)\n : ('yes' as const)\n : undefined,\n }));\n\n const children =\n typeof props.children === 'function'\n ? props.children(openValue) // renderer function\n : props.children;\n\n useImperativeHandle(\n ref,\n () => ({\n openDrawer,\n closeDrawer,\n }),\n [openDrawer, closeDrawer]\n );\n\n return (\n <GestureDetector\n gesture={panGesture}\n userSelect={userSelect}\n enableContextMenu={enableContextMenu}>\n <Animated.View style={styles.main} onLayout={handleContainerLayout}>\n <GestureDetector gesture={overlayDismissGesture}>\n <Animated.View\n style={[\n drawerType === DrawerType.FRONT\n ? styles.containerOnBack\n : styles.containerInFront,\n containerStyles,\n contentContainerStyle,\n ]}\n animatedProps={containerAnimatedProps}>\n {children}\n <Animated.View\n animatedProps={overlayAnimatedProps}\n style={[styles.overlay, overlayAnimatedStyle]}\n />\n </Animated.View>\n </GestureDetector>\n <Animated.View\n pointerEvents=\"box-none\"\n animatedProps={drawerAnimatedProps}\n style={[\n styles.drawerContainer,\n drawerAnimatedStyle,\n drawerContainerStyle,\n ]}>\n <Animated.View style={dynamicDrawerStyles}>\n {renderNavigationView(openValue)}\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </GestureDetector>\n );\n }\n);\n\nexport default DrawerLayout;\n\nconst styles = StyleSheet.create({\n drawerContainer: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1001,\n flexDirection: 'row',\n },\n containerInFront: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1002,\n },\n containerOnBack: {\n ...StyleSheet.absoluteFillObject,\n },\n main: {\n flex: 1,\n zIndex: 0,\n overflow: 'hidden',\n },\n overlay: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1000,\n },\n});\n"],"mappings":"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","ignoreList":[]}