react-native-gesture-handler 1.10.1 → 2.1.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 (580) hide show
  1. package/DrawerLayout/package.json +3 -3
  2. package/README.md +7 -6
  3. package/Swipeable/package.json +3 -3
  4. package/android/build.gradle +48 -1
  5. package/android/common/src/main/java/com/swmansion/common/GestureHandlerStateManager.kt +5 -0
  6. package/android/gradle.properties +19 -0
  7. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.kt +18 -0
  8. package/android/lib/src/main/java/com/swmansion/gesturehandler/Extensions.kt +11 -0
  9. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.kt +96 -0
  10. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.kt +713 -0
  11. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.kt +8 -0
  12. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.kt +562 -0
  13. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.kt +8 -0
  14. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.kt +21 -0
  15. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.kt +49 -0
  16. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.kt +97 -0
  17. package/android/lib/src/main/java/com/swmansion/gesturehandler/ManualGestureHandler.kt +11 -0
  18. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.kt +129 -0
  19. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.kt +9 -0
  20. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.kt +289 -0
  21. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +88 -0
  22. package/android/lib/src/main/java/com/swmansion/gesturehandler/{PointerEventsConfig.java → PointerEventsConfig.kt} +3 -5
  23. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.kt +125 -0
  24. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.kt +79 -0
  25. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.kt +167 -0
  26. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.kt +10 -0
  27. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +348 -0
  28. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.kt +57 -0
  29. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.kt +59 -0
  30. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.kt +8 -0
  31. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.kt +61 -0
  32. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +686 -0
  33. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.kt +17 -0
  34. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +95 -0
  35. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +132 -0
  36. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.kt +5 -0
  37. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.kt +68 -0
  38. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt +34 -0
  39. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.kt +66 -0
  40. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerTouchEvent.kt +69 -0
  41. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.kt +51 -0
  42. package/ios/Handlers/RNFlingHandler.m +78 -5
  43. package/ios/Handlers/RNForceTouchHandler.m +29 -4
  44. package/ios/Handlers/RNLongPressHandler.m +105 -3
  45. package/ios/Handlers/RNManualHandler.h +4 -0
  46. package/ios/Handlers/RNManualHandler.m +73 -0
  47. package/ios/Handlers/RNNativeViewHandler.m +30 -2
  48. package/ios/Handlers/RNPanHandler.m +64 -4
  49. package/ios/Handlers/RNPinchHandler.m +61 -2
  50. package/ios/Handlers/RNRotationHandler.m +60 -1
  51. package/ios/Handlers/RNTapHandler.m +55 -8
  52. package/ios/RNGestureHandler.h +18 -4
  53. package/ios/RNGestureHandler.m +123 -13
  54. package/ios/RNGestureHandler.xcodeproj/project.xcworkspace/xcuserdata/jakubpiasecki.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  55. package/ios/RNGestureHandler.xcodeproj/xcuserdata/jakubpiasecki.xcuserdatad/xcschemes/xcschememanagement.plist +19 -0
  56. package/ios/RNGestureHandlerEvents.h +9 -0
  57. package/ios/RNGestureHandlerEvents.m +34 -0
  58. package/ios/RNGestureHandlerManager.h +7 -0
  59. package/ios/RNGestureHandlerManager.m +62 -34
  60. package/ios/RNGestureHandlerModule.m +39 -3
  61. package/ios/RNGestureHandlerPointerTracker.h +25 -0
  62. package/ios/RNGestureHandlerPointerTracker.m +237 -0
  63. package/ios/RNGestureHandlerRegistry.h +1 -0
  64. package/ios/RNGestureHandlerRegistry.m +10 -0
  65. package/ios/RNGestureHandlerStateManager.h +5 -0
  66. package/ios/RNManualActivationRecognizer.h +10 -0
  67. package/ios/RNManualActivationRecognizer.m +80 -0
  68. package/ios/RNRootViewGestureRecognizer.m +1 -1
  69. package/ios/RNTouchEventType.h +9 -0
  70. package/jestSetup.js +7 -1
  71. package/lib/commonjs/Directions.js +15 -0
  72. package/lib/commonjs/Directions.js.map +1 -0
  73. package/lib/commonjs/EventType.js +16 -0
  74. package/lib/commonjs/EventType.js.map +1 -0
  75. package/lib/commonjs/GestureHandlerRootView.android.js +24 -0
  76. package/lib/commonjs/GestureHandlerRootView.android.js.map +1 -0
  77. package/lib/commonjs/GestureHandlerRootView.js +20 -0
  78. package/lib/commonjs/GestureHandlerRootView.js.map +1 -0
  79. package/lib/commonjs/PlatformConstants.js +15 -0
  80. package/lib/commonjs/PlatformConstants.js.map +1 -0
  81. package/lib/commonjs/PlatformConstants.web.js +14 -0
  82. package/lib/commonjs/PlatformConstants.web.js.map +1 -0
  83. package/lib/commonjs/RNGestureHandlerModule.js +22 -0
  84. package/lib/commonjs/RNGestureHandlerModule.js.map +1 -0
  85. package/lib/commonjs/RNGestureHandlerModule.web.js +80 -0
  86. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -0
  87. package/lib/commonjs/State.js +18 -0
  88. package/lib/commonjs/State.js.map +1 -0
  89. package/lib/commonjs/components/DrawerLayout.js +535 -0
  90. package/lib/commonjs/components/DrawerLayout.js.map +1 -0
  91. package/lib/commonjs/components/GestureButtons.js +207 -0
  92. package/lib/commonjs/components/GestureButtons.js.map +1 -0
  93. package/lib/commonjs/components/GestureComponents.js +76 -0
  94. package/lib/commonjs/components/GestureComponents.js.map +1 -0
  95. package/lib/commonjs/components/GestureComponents.web.js +46 -0
  96. package/lib/commonjs/components/GestureComponents.web.js.map +1 -0
  97. package/lib/commonjs/components/GestureHandlerButton.js +13 -0
  98. package/lib/commonjs/components/GestureHandlerButton.js.map +1 -0
  99. package/lib/commonjs/components/GestureHandlerButton.web.js +24 -0
  100. package/lib/commonjs/components/GestureHandlerButton.web.js.map +1 -0
  101. package/lib/commonjs/components/Swipeable.js +365 -0
  102. package/lib/commonjs/components/Swipeable.js.map +1 -0
  103. package/lib/commonjs/components/touchables/GenericTouchable.js +278 -0
  104. package/lib/commonjs/components/touchables/GenericTouchable.js.map +1 -0
  105. package/lib/commonjs/components/touchables/TouchableHighlight.js +109 -0
  106. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -0
  107. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +100 -0
  108. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  109. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +12 -0
  110. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -0
  111. package/lib/commonjs/components/touchables/TouchableOpacity.js +75 -0
  112. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -0
  113. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +26 -0
  114. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  115. package/lib/commonjs/components/touchables/index.js +40 -0
  116. package/lib/commonjs/components/touchables/index.js.map +1 -0
  117. package/lib/commonjs/gestureHandlerRootHOC.js +39 -0
  118. package/lib/commonjs/gestureHandlerRootHOC.js.map +1 -0
  119. package/lib/commonjs/handlers/FlingGestureHandler.js +23 -0
  120. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -0
  121. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +44 -0
  122. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -0
  123. package/lib/commonjs/handlers/LongPressGestureHandler.js +23 -0
  124. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -0
  125. package/lib/commonjs/handlers/NativeViewGestureHandler.js +25 -0
  126. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -0
  127. package/lib/commonjs/handlers/PanGestureHandler.js +121 -0
  128. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -0
  129. package/lib/commonjs/handlers/PinchGestureHandler.js +21 -0
  130. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -0
  131. package/lib/commonjs/handlers/RotationGestureHandler.js +21 -0
  132. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -0
  133. package/lib/commonjs/handlers/TapGestureHandler.js +23 -0
  134. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -0
  135. package/lib/commonjs/handlers/createHandler.js +373 -0
  136. package/lib/commonjs/handlers/createHandler.js.map +1 -0
  137. package/lib/commonjs/handlers/createNativeWrapper.js +70 -0
  138. package/lib/commonjs/handlers/createNativeWrapper.js.map +1 -0
  139. package/lib/commonjs/handlers/gestureHandlerCommon.js +80 -0
  140. package/lib/commonjs/handlers/gestureHandlerCommon.js.map +1 -0
  141. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js +2 -0
  142. package/lib/commonjs/handlers/gestureHandlerTypesCompat.js.map +1 -0
  143. package/lib/commonjs/handlers/gestures/GestureDetector.js +426 -0
  144. package/lib/commonjs/handlers/gestures/GestureDetector.js.map +1 -0
  145. package/lib/commonjs/handlers/gestures/eventReceiver.js +124 -0
  146. package/lib/commonjs/handlers/gestures/eventReceiver.js.map +1 -0
  147. package/lib/commonjs/handlers/gestures/flingGesture.js +34 -0
  148. package/lib/commonjs/handlers/gestures/flingGesture.js.map +1 -0
  149. package/lib/commonjs/handlers/gestures/forceTouchGesture.js +39 -0
  150. package/lib/commonjs/handlers/gestures/forceTouchGesture.js.map +1 -0
  151. package/lib/commonjs/handlers/gestures/gesture.js +185 -0
  152. package/lib/commonjs/handlers/gestures/gesture.js.map +1 -0
  153. package/lib/commonjs/handlers/gestures/gestureComposition.js +94 -0
  154. package/lib/commonjs/handlers/gestures/gestureComposition.js.map +1 -0
  155. package/lib/commonjs/handlers/gestures/gestureObjects.js +85 -0
  156. package/lib/commonjs/handlers/gestures/gestureObjects.js.map +1 -0
  157. package/lib/commonjs/handlers/gestures/gestureStateManager.js +58 -0
  158. package/lib/commonjs/handlers/gestures/gestureStateManager.js.map +1 -0
  159. package/lib/commonjs/handlers/gestures/longPressGesture.js +34 -0
  160. package/lib/commonjs/handlers/gestures/longPressGesture.js.map +1 -0
  161. package/lib/commonjs/handlers/gestures/manualGesture.js +19 -0
  162. package/lib/commonjs/handlers/gestures/manualGesture.js.map +1 -0
  163. package/lib/commonjs/handlers/gestures/nativeGesture.js +34 -0
  164. package/lib/commonjs/handlers/gestures/nativeGesture.js.map +1 -0
  165. package/lib/commonjs/handlers/gestures/panGesture.js +116 -0
  166. package/lib/commonjs/handlers/gestures/panGesture.js.map +1 -0
  167. package/lib/commonjs/handlers/gestures/pinchGesture.js +19 -0
  168. package/lib/commonjs/handlers/gestures/pinchGesture.js.map +1 -0
  169. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js +24 -0
  170. package/lib/commonjs/handlers/gestures/reanimatedWrapper.js.map +1 -0
  171. package/lib/commonjs/handlers/gestures/rotationGesture.js +19 -0
  172. package/lib/commonjs/handlers/gestures/rotationGesture.js.map +1 -0
  173. package/lib/commonjs/handlers/gestures/tapGesture.js +59 -0
  174. package/lib/commonjs/handlers/gestures/tapGesture.js.map +1 -0
  175. package/lib/commonjs/handlers/handlersRegistry.js +31 -0
  176. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -0
  177. package/lib/commonjs/index.js +338 -0
  178. package/lib/commonjs/index.js.map +1 -0
  179. package/lib/commonjs/init.js +13 -0
  180. package/lib/commonjs/init.js.map +1 -0
  181. package/lib/commonjs/mocks.js +64 -0
  182. package/lib/commonjs/mocks.js.map +1 -0
  183. package/lib/commonjs/typeUtils.js +2 -0
  184. package/lib/commonjs/typeUtils.js.map +1 -0
  185. package/lib/commonjs/utils.js +15 -0
  186. package/lib/commonjs/utils.js.map +1 -0
  187. package/lib/commonjs/web/DiscreteGestureHandler.js +105 -0
  188. package/lib/commonjs/web/DiscreteGestureHandler.js.map +1 -0
  189. package/lib/commonjs/web/DraggingGestureHandler.js +53 -0
  190. package/lib/commonjs/web/DraggingGestureHandler.js.map +1 -0
  191. package/lib/commonjs/web/Errors.js +16 -0
  192. package/lib/commonjs/web/Errors.js.map +1 -0
  193. package/lib/commonjs/web/FlingGestureHandler.js +170 -0
  194. package/lib/commonjs/web/FlingGestureHandler.js.map +1 -0
  195. package/lib/commonjs/web/GestureHandler.js +533 -0
  196. package/lib/commonjs/web/GestureHandler.js.map +1 -0
  197. package/lib/commonjs/web/IndiscreteGestureHandler.js +54 -0
  198. package/lib/commonjs/web/IndiscreteGestureHandler.js.map +1 -0
  199. package/lib/commonjs/web/LongPressGestureHandler.js +71 -0
  200. package/lib/commonjs/web/LongPressGestureHandler.js.map +1 -0
  201. package/lib/commonjs/web/NativeViewGestureHandler.js +62 -0
  202. package/lib/commonjs/web/NativeViewGestureHandler.js.map +1 -0
  203. package/lib/commonjs/web/NodeManager.js +43 -0
  204. package/lib/commonjs/web/NodeManager.js.map +1 -0
  205. package/lib/commonjs/web/PanGestureHandler.js +189 -0
  206. package/lib/commonjs/web/PanGestureHandler.js.map +1 -0
  207. package/lib/commonjs/web/PinchGestureHandler.js +40 -0
  208. package/lib/commonjs/web/PinchGestureHandler.js.map +1 -0
  209. package/lib/commonjs/web/PressGestureHandler.js +188 -0
  210. package/lib/commonjs/web/PressGestureHandler.js.map +1 -0
  211. package/lib/commonjs/web/RotationGestureHandler.js +44 -0
  212. package/lib/commonjs/web/RotationGestureHandler.js.map +1 -0
  213. package/lib/commonjs/web/TapGestureHandler.js +192 -0
  214. package/lib/commonjs/web/TapGestureHandler.js.map +1 -0
  215. package/lib/commonjs/web/constants.js +64 -0
  216. package/lib/commonjs/web/constants.js.map +1 -0
  217. package/lib/commonjs/web/utils.js +42 -0
  218. package/lib/commonjs/web/utils.js.map +1 -0
  219. package/lib/module/Directions.js +7 -0
  220. package/lib/module/Directions.js.map +1 -0
  221. package/lib/module/EventType.js +8 -0
  222. package/lib/module/EventType.js.map +1 -0
  223. package/lib/module/GestureHandlerRootView.android.js +10 -0
  224. package/lib/module/GestureHandlerRootView.android.js.map +1 -0
  225. package/lib/module/GestureHandlerRootView.js +7 -0
  226. package/lib/module/GestureHandlerRootView.js.map +1 -0
  227. package/lib/module/PlatformConstants.js +5 -0
  228. package/lib/module/PlatformConstants.js.map +1 -0
  229. package/lib/module/PlatformConstants.web.js +7 -0
  230. package/lib/module/PlatformConstants.web.js.map +1 -0
  231. package/lib/module/RNGestureHandlerModule.js +13 -0
  232. package/lib/module/RNGestureHandlerModule.js.map +1 -0
  233. package/lib/module/RNGestureHandlerModule.web.js +56 -0
  234. package/lib/module/RNGestureHandlerModule.web.js.map +1 -0
  235. package/lib/module/State.js +10 -0
  236. package/lib/module/State.js.map +1 -0
  237. package/lib/module/components/DrawerLayout.js +520 -0
  238. package/lib/module/components/DrawerLayout.js.map +1 -0
  239. package/lib/module/components/GestureButtons.js +172 -0
  240. package/lib/module/components/GestureButtons.js.map +1 -0
  241. package/lib/module/components/GestureComponents.js +53 -0
  242. package/lib/module/components/GestureComponents.js.map +1 -0
  243. package/lib/module/components/GestureComponents.web.js +25 -0
  244. package/lib/module/components/GestureComponents.web.js.map +1 -0
  245. package/{dist/src → lib/module}/components/GestureHandlerButton.js +1 -0
  246. package/lib/module/components/GestureHandlerButton.js.map +1 -0
  247. package/lib/module/components/GestureHandlerButton.web.js +9 -0
  248. package/lib/module/components/GestureHandlerButton.web.js.map +1 -0
  249. package/lib/module/components/Swipeable.js +347 -0
  250. package/lib/module/components/Swipeable.js.map +1 -0
  251. package/lib/module/components/touchables/GenericTouchable.js +262 -0
  252. package/lib/module/components/touchables/GenericTouchable.js.map +1 -0
  253. package/lib/module/components/touchables/TouchableHighlight.js +95 -0
  254. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -0
  255. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +84 -0
  256. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -0
  257. package/{dist/src → lib/module}/components/touchables/TouchableNativeFeedback.js +1 -0
  258. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -0
  259. package/lib/module/components/touchables/TouchableOpacity.js +61 -0
  260. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -0
  261. package/lib/module/components/touchables/TouchableWithoutFeedback.js +10 -0
  262. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -0
  263. package/{dist/src → lib/module}/components/touchables/index.js +1 -0
  264. package/lib/module/components/touchables/index.js.map +1 -0
  265. package/lib/module/gestureHandlerRootHOC.js +21 -0
  266. package/lib/module/gestureHandlerRootHOC.js.map +1 -0
  267. package/lib/module/handlers/FlingGestureHandler.js +10 -0
  268. package/lib/module/handlers/FlingGestureHandler.js.map +1 -0
  269. package/lib/module/handlers/ForceTouchGestureHandler.js +29 -0
  270. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -0
  271. package/lib/module/handlers/LongPressGestureHandler.js +10 -0
  272. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -0
  273. package/lib/module/handlers/NativeViewGestureHandler.js +11 -0
  274. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -0
  275. package/lib/module/handlers/PanGestureHandler.js +106 -0
  276. package/lib/module/handlers/PanGestureHandler.js.map +1 -0
  277. package/lib/module/handlers/PinchGestureHandler.js +9 -0
  278. package/lib/module/handlers/PinchGestureHandler.js.map +1 -0
  279. package/lib/module/handlers/RotationGestureHandler.js +9 -0
  280. package/lib/module/handlers/RotationGestureHandler.js.map +1 -0
  281. package/lib/module/handlers/TapGestureHandler.js +10 -0
  282. package/lib/module/handlers/TapGestureHandler.js.map +1 -0
  283. package/lib/module/handlers/createHandler.js +348 -0
  284. package/lib/module/handlers/createHandler.js.map +1 -0
  285. package/lib/module/handlers/createNativeWrapper.js +58 -0
  286. package/lib/module/handlers/createNativeWrapper.js.map +1 -0
  287. package/lib/module/handlers/gestureHandlerCommon.js +66 -0
  288. package/lib/module/handlers/gestureHandlerCommon.js.map +1 -0
  289. package/lib/module/handlers/gestureHandlerTypesCompat.js +2 -0
  290. package/lib/module/handlers/gestureHandlerTypesCompat.js.map +1 -0
  291. package/lib/module/handlers/gestures/GestureDetector.js +389 -0
  292. package/lib/module/handlers/gestures/GestureDetector.js.map +1 -0
  293. package/lib/module/handlers/gestures/eventReceiver.js +109 -0
  294. package/lib/module/handlers/gestures/eventReceiver.js.map +1 -0
  295. package/lib/module/handlers/gestures/flingGesture.js +24 -0
  296. package/lib/module/handlers/gestures/flingGesture.js.map +1 -0
  297. package/lib/module/handlers/gestures/forceTouchGesture.js +29 -0
  298. package/lib/module/handlers/gestures/forceTouchGesture.js.map +1 -0
  299. package/lib/module/handlers/gestures/gesture.js +167 -0
  300. package/lib/module/handlers/gestures/gesture.js.map +1 -0
  301. package/lib/module/handlers/gestures/gestureComposition.js +79 -0
  302. package/lib/module/handlers/gestures/gestureComposition.js.map +1 -0
  303. package/lib/module/handlers/gestures/gestureObjects.js +67 -0
  304. package/lib/module/handlers/gestures/gestureObjects.js.map +1 -0
  305. package/lib/module/handlers/gestures/gestureStateManager.js +48 -0
  306. package/lib/module/handlers/gestures/gestureStateManager.js.map +1 -0
  307. package/lib/module/handlers/gestures/longPressGesture.js +24 -0
  308. package/lib/module/handlers/gestures/longPressGesture.js.map +1 -0
  309. package/lib/module/handlers/gestures/manualGesture.js +9 -0
  310. package/lib/module/handlers/gestures/manualGesture.js.map +1 -0
  311. package/lib/module/handlers/gestures/nativeGesture.js +24 -0
  312. package/lib/module/handlers/gestures/nativeGesture.js.map +1 -0
  313. package/lib/module/handlers/gestures/panGesture.js +106 -0
  314. package/lib/module/handlers/gestures/panGesture.js.map +1 -0
  315. package/lib/module/handlers/gestures/pinchGesture.js +9 -0
  316. package/lib/module/handlers/gestures/pinchGesture.js.map +1 -0
  317. package/lib/module/handlers/gestures/reanimatedWrapper.js +19 -0
  318. package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -0
  319. package/lib/module/handlers/gestures/rotationGesture.js +9 -0
  320. package/lib/module/handlers/gestures/rotationGesture.js.map +1 -0
  321. package/lib/module/handlers/gestures/tapGesture.js +49 -0
  322. package/lib/module/handlers/gestures/tapGesture.js.map +1 -0
  323. package/lib/module/handlers/handlersRegistry.js +16 -0
  324. package/lib/module/handlers/handlersRegistry.js.map +1 -0
  325. package/lib/module/index.js +34 -0
  326. package/lib/module/index.js.map +1 -0
  327. package/lib/module/init.js +5 -0
  328. package/lib/module/init.js.map +1 -0
  329. package/lib/module/mocks.js +54 -0
  330. package/lib/module/mocks.js.map +1 -0
  331. package/lib/module/typeUtils.js +2 -0
  332. package/lib/module/typeUtils.js.map +1 -0
  333. package/lib/module/utils.js +8 -0
  334. package/lib/module/utils.js.map +1 -0
  335. package/lib/module/web/DiscreteGestureHandler.js +94 -0
  336. package/lib/module/web/DiscreteGestureHandler.js.map +1 -0
  337. package/lib/module/web/DraggingGestureHandler.js +40 -0
  338. package/lib/module/web/DraggingGestureHandler.js.map +1 -0
  339. package/lib/module/web/Errors.js +7 -0
  340. package/lib/module/web/Errors.js.map +1 -0
  341. package/lib/module/web/FlingGestureHandler.js +156 -0
  342. package/lib/module/web/FlingGestureHandler.js.map +1 -0
  343. package/lib/module/web/GestureHandler.js +518 -0
  344. package/lib/module/web/GestureHandler.js.map +1 -0
  345. package/lib/module/web/IndiscreteGestureHandler.js +44 -0
  346. package/lib/module/web/IndiscreteGestureHandler.js.map +1 -0
  347. package/lib/module/web/LongPressGestureHandler.js +58 -0
  348. package/lib/module/web/LongPressGestureHandler.js.map +1 -0
  349. package/lib/module/web/NativeViewGestureHandler.js +45 -0
  350. package/lib/module/web/NativeViewGestureHandler.js.map +1 -0
  351. package/lib/module/web/NodeManager.js +30 -0
  352. package/lib/module/web/NodeManager.js.map +1 -0
  353. package/lib/module/web/PanGestureHandler.js +175 -0
  354. package/lib/module/web/PanGestureHandler.js.map +1 -0
  355. package/lib/module/web/PinchGestureHandler.js +29 -0
  356. package/lib/module/web/PinchGestureHandler.js.map +1 -0
  357. package/lib/module/web/PressGestureHandler.js +174 -0
  358. package/lib/module/web/PressGestureHandler.js.map +1 -0
  359. package/lib/module/web/RotationGestureHandler.js +32 -0
  360. package/lib/module/web/RotationGestureHandler.js.map +1 -0
  361. package/lib/module/web/TapGestureHandler.js +180 -0
  362. package/lib/module/web/TapGestureHandler.js.map +1 -0
  363. package/lib/module/web/constants.js +43 -0
  364. package/lib/module/web/constants.js.map +1 -0
  365. package/lib/module/web/utils.js +19 -0
  366. package/lib/module/web/utils.js.map +1 -0
  367. package/lib/typescript/Directions.d.ts +7 -0
  368. package/lib/typescript/EventType.d.ts +8 -0
  369. package/lib/typescript/GestureHandlerRootView.android.d.ts +2 -0
  370. package/lib/typescript/GestureHandlerRootView.d.ts +5 -0
  371. package/{dist/src → lib/typescript}/PlatformConstants.d.ts +0 -0
  372. package/{dist/src → lib/typescript}/PlatformConstants.web.d.ts +0 -0
  373. package/{dist/src → lib/typescript}/RNGestureHandlerModule.d.ts +1 -8
  374. package/{dist/src → lib/typescript}/RNGestureHandlerModule.web.d.ts +1 -1
  375. package/{dist/src → lib/typescript}/State.d.ts +0 -0
  376. package/{dist/src → lib/typescript}/components/DrawerLayout.d.ts +50 -1
  377. package/{dist/src → lib/typescript}/components/GestureButtons.d.ts +36 -0
  378. package/lib/typescript/components/GestureComponents.d.ts +18 -0
  379. package/{dist/src → lib/typescript}/components/GestureComponents.web.d.ts +4 -4
  380. package/{dist/src → lib/typescript}/components/GestureHandlerButton.d.ts +0 -0
  381. package/{dist/src → lib/typescript}/components/GestureHandlerButton.web.d.ts +0 -0
  382. package/lib/typescript/components/Swipeable.d.ts +150 -0
  383. package/{dist/src → lib/typescript}/components/touchables/GenericTouchable.d.ts +3 -3
  384. package/{dist/src → lib/typescript}/components/touchables/TouchableHighlight.d.ts +1 -0
  385. package/{dist/src → lib/typescript}/components/touchables/TouchableNativeFeedback.android.d.ts +0 -0
  386. package/{dist/src → lib/typescript}/components/touchables/TouchableNativeFeedback.d.ts +0 -0
  387. package/{dist/src → lib/typescript}/components/touchables/TouchableOpacity.d.ts +1 -0
  388. package/{dist/src → lib/typescript}/components/touchables/TouchableWithoutFeedback.d.ts +0 -0
  389. package/{dist/src → lib/typescript}/components/touchables/index.d.ts +0 -0
  390. package/{dist/src → lib/typescript}/gestureHandlerRootHOC.d.ts +0 -0
  391. package/lib/typescript/handlers/FlingGestureHandler.d.ts +33 -0
  392. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +43 -0
  393. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +55 -0
  394. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +27 -0
  395. package/lib/typescript/handlers/PanGestureHandler.d.ts +137 -0
  396. package/lib/typescript/handlers/PinchGestureHandler.d.ts +28 -0
  397. package/lib/typescript/handlers/RotationGestureHandler.d.ts +28 -0
  398. package/lib/typescript/handlers/TapGestureHandler.d.ts +56 -0
  399. package/{dist/src → lib/typescript}/handlers/createHandler.d.ts +1 -1
  400. package/{dist/src → lib/typescript}/handlers/createNativeWrapper.d.ts +0 -0
  401. package/lib/typescript/handlers/gestureHandlerCommon.d.ts +62 -0
  402. package/{dist/src → lib/typescript}/handlers/gestureHandlerTypesCompat.d.ts +8 -1
  403. package/lib/typescript/handlers/gestures/GestureDetector.d.ts +16 -0
  404. package/lib/typescript/handlers/gestures/eventReceiver.d.ts +2 -0
  405. package/lib/typescript/handlers/gestures/flingGesture.d.ts +9 -0
  406. package/lib/typescript/handlers/gestures/forceTouchGesture.d.ts +10 -0
  407. package/lib/typescript/handlers/gestures/gesture.d.ts +93 -0
  408. package/lib/typescript/handlers/gestures/gestureComposition.d.ts +21 -0
  409. package/lib/typescript/handlers/gestures/gestureObjects.d.ts +39 -0
  410. package/lib/typescript/handlers/gestures/gestureStateManager.d.ts +9 -0
  411. package/lib/typescript/handlers/gestures/longPressGesture.d.ts +9 -0
  412. package/lib/typescript/handlers/gestures/manualGesture.d.ts +5 -0
  413. package/lib/typescript/handlers/gestures/nativeGesture.d.ts +9 -0
  414. package/lib/typescript/handlers/gestures/panGesture.d.ts +19 -0
  415. package/lib/typescript/handlers/gestures/pinchGesture.d.ts +6 -0
  416. package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts +14 -0
  417. package/lib/typescript/handlers/gestures/rotationGesture.d.ts +6 -0
  418. package/lib/typescript/handlers/gestures/tapGesture.d.ts +14 -0
  419. package/lib/typescript/handlers/handlersRegistry.d.ts +6 -0
  420. package/lib/typescript/index.d.ts +44 -0
  421. package/lib/typescript/init.d.ts +1 -0
  422. package/lib/typescript/mocks.d.ts +43 -0
  423. package/{dist/src → lib/typescript}/typeUtils.d.ts +0 -0
  424. package/lib/typescript/utils.d.ts +1 -0
  425. package/{dist/src → lib/typescript}/web/DiscreteGestureHandler.d.ts +0 -0
  426. package/{dist/src → lib/typescript}/web/DraggingGestureHandler.d.ts +0 -0
  427. package/{dist/src → lib/typescript}/web/Errors.d.ts +0 -0
  428. package/{dist/src → lib/typescript}/web/FlingGestureHandler.d.ts +0 -1
  429. package/{dist/src → lib/typescript}/web/GestureHandler.d.ts +0 -1
  430. package/{dist/src → lib/typescript}/web/IndiscreteGestureHandler.d.ts +0 -0
  431. package/{dist/src → lib/typescript}/web/LongPressGestureHandler.d.ts +0 -0
  432. package/{dist/src → lib/typescript}/web/NativeViewGestureHandler.d.ts +0 -0
  433. package/{dist/src → lib/typescript}/web/NodeManager.d.ts +0 -0
  434. package/{dist/src → lib/typescript}/web/PanGestureHandler.d.ts +0 -1
  435. package/{dist/src → lib/typescript}/web/PinchGestureHandler.d.ts +0 -1
  436. package/{dist/src → lib/typescript}/web/PressGestureHandler.d.ts +0 -1
  437. package/{dist/src → lib/typescript}/web/RotationGestureHandler.d.ts +0 -1
  438. package/{dist/src → lib/typescript}/web/TapGestureHandler.d.ts +0 -1
  439. package/{dist/src → lib/typescript}/web/constants.d.ts +0 -0
  440. package/{dist/src → lib/typescript}/web/utils.d.ts +0 -0
  441. package/package.json +38 -15
  442. package/src/Directions.ts +8 -2
  443. package/src/EventType.ts +10 -0
  444. package/src/GestureHandlerRootView.android.tsx +9 -25
  445. package/src/GestureHandlerRootView.tsx +11 -2
  446. package/src/PlatformConstants.ts +3 -2
  447. package/src/RNGestureHandlerModule.ts +15 -9
  448. package/src/RNGestureHandlerModule.web.ts +1 -0
  449. package/src/components/DrawerLayout.tsx +114 -41
  450. package/src/components/GestureButtons.tsx +45 -5
  451. package/src/components/GestureComponents.tsx +47 -41
  452. package/src/components/Swipeable.tsx +108 -21
  453. package/src/components/touchables/GenericTouchable.tsx +3 -2
  454. package/src/components/touchables/TouchableOpacity.tsx +1 -1
  455. package/src/handlers/FlingGestureHandler.ts +57 -0
  456. package/src/handlers/ForceTouchGestureHandler.ts +83 -0
  457. package/src/handlers/LongPressGestureHandler.ts +84 -0
  458. package/src/handlers/NativeViewGestureHandler.ts +31 -7
  459. package/src/handlers/PanGestureHandler.ts +321 -0
  460. package/src/handlers/PinchGestureHandler.ts +46 -0
  461. package/src/handlers/RotationGestureHandler.ts +46 -0
  462. package/src/handlers/TapGestureHandler.ts +90 -0
  463. package/src/handlers/createHandler.ts +60 -81
  464. package/src/handlers/gestureHandlerCommon.ts +185 -0
  465. package/src/handlers/gestureHandlerTypesCompat.ts +19 -5
  466. package/src/handlers/gestures/GestureDetector.tsx +498 -0
  467. package/src/handlers/gestures/eventReceiver.ts +135 -0
  468. package/src/handlers/gestures/flingGesture.ts +27 -0
  469. package/src/handlers/gestures/forceTouchGesture.ts +32 -0
  470. package/src/handlers/gestures/gesture.ts +279 -0
  471. package/src/handlers/gestures/gestureComposition.ts +109 -0
  472. package/src/handlers/gestures/gestureObjects.ts +79 -0
  473. package/src/handlers/gestures/gestureStateManager.ts +60 -0
  474. package/src/handlers/gestures/longPressGesture.ts +27 -0
  475. package/src/handlers/gestures/manualGesture.ts +11 -0
  476. package/src/handlers/gestures/nativeGesture.ts +27 -0
  477. package/src/handlers/gestures/panGesture.ts +105 -0
  478. package/src/handlers/gestures/pinchGesture.ts +12 -0
  479. package/src/handlers/gestures/reanimatedWrapper.ts +45 -0
  480. package/src/handlers/gestures/rotationGesture.ts +12 -0
  481. package/src/handlers/gestures/tapGesture.ts +52 -0
  482. package/src/handlers/handlersRegistry.ts +22 -0
  483. package/src/index.ts +156 -0
  484. package/src/init.ts +5 -0
  485. package/src/mocks.ts +65 -0
  486. package/src/utils.ts +7 -0
  487. package/src/web/GestureHandler.ts +2 -3
  488. package/src/web/NativeViewGestureHandler.ts +1 -3
  489. package/src/web/NodeManager.ts +5 -0
  490. package/android/lib/src/main/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -23
  491. package/android/lib/src/main/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -110
  492. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandler.java +0 -531
  493. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -8
  494. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -543
  495. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -10
  496. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -29
  497. package/android/lib/src/main/java/com/swmansion/gesturehandler/GestureUtils.java +0 -53
  498. package/android/lib/src/main/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -81
  499. package/android/lib/src/main/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -110
  500. package/android/lib/src/main/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -8
  501. package/android/lib/src/main/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -312
  502. package/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -109
  503. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -169
  504. package/android/lib/src/main/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -96
  505. package/android/lib/src/main/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -172
  506. package/android/lib/src/main/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -10
  507. package/android/src/main/java/com/facebook/react/views/modal/RNGHModalUtils.java +0 -21
  508. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java +0 -296
  509. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEnabledRootView.java +0 -72
  510. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEvent.java +0 -77
  511. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerEventDataExtractor.java +0 -8
  512. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerInteractionManager.java +0 -86
  513. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.java +0 -731
  514. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerPackage.java +0 -31
  515. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.java +0 -101
  516. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java +0 -151
  517. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootInterface.java +0 -7
  518. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java +0 -76
  519. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.java +0 -49
  520. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerStateChangeEvent.java +0 -82
  521. package/android/src/main/java/com/swmansion/gesturehandler/react/RNViewConfigurationHelper.java +0 -61
  522. package/dist/index.d.ts +0 -13
  523. package/dist/index.js +0 -16
  524. package/dist/src/Directions.d.ts +0 -7
  525. package/dist/src/Directions.js +0 -2
  526. package/dist/src/GestureHandlerRootView.android.d.ts +0 -4
  527. package/dist/src/GestureHandlerRootView.android.expo.d.ts +0 -2
  528. package/dist/src/GestureHandlerRootView.android.expo.js +0 -2
  529. package/dist/src/GestureHandlerRootView.android.js +0 -21
  530. package/dist/src/GestureHandlerRootView.d.ts +0 -2
  531. package/dist/src/GestureHandlerRootView.js +0 -2
  532. package/dist/src/PlatformConstants.js +0 -2
  533. package/dist/src/PlatformConstants.web.js +0 -5
  534. package/dist/src/RNGestureHandlerModule.js +0 -3
  535. package/dist/src/RNGestureHandlerModule.web.js +0 -47
  536. package/dist/src/State.js +0 -9
  537. package/dist/src/__mocks__/RNGestureHandlerModule.d.ts +0 -23
  538. package/dist/src/__mocks__/RNGestureHandlerModule.js +0 -25
  539. package/dist/src/components/DrawerLayout.js +0 -391
  540. package/dist/src/components/GestureButtons.js +0 -113
  541. package/dist/src/components/GestureComponents.d.ts +0 -45
  542. package/dist/src/components/GestureComponents.js +0 -18
  543. package/dist/src/components/GestureComponents.web.js +0 -18
  544. package/dist/src/components/GestureHandlerButton.web.js +0 -3
  545. package/dist/src/components/Swipeable.d.ts +0 -83
  546. package/dist/src/components/Swipeable.js +0 -249
  547. package/dist/src/components/touchables/GenericTouchable.js +0 -210
  548. package/dist/src/components/touchables/TouchableHighlight.js +0 -73
  549. package/dist/src/components/touchables/TouchableNativeFeedback.android.js +0 -63
  550. package/dist/src/components/touchables/TouchableOpacity.js +0 -50
  551. package/dist/src/components/touchables/TouchableWithoutFeedback.js +0 -5
  552. package/dist/src/gestureHandlerRootHOC.js +0 -17
  553. package/dist/src/handlers/NativeViewGestureHandler.d.ts +0 -12
  554. package/dist/src/handlers/NativeViewGestureHandler.js +0 -13
  555. package/dist/src/handlers/createHandler.js +0 -292
  556. package/dist/src/handlers/createNativeWrapper.js +0 -51
  557. package/dist/src/handlers/gestureHandlerTypesCompat.js +0 -1
  558. package/dist/src/handlers/gestureHandlers.d.ts +0 -158
  559. package/dist/src/handlers/gestureHandlers.js +0 -247
  560. package/dist/src/typeUtils.js +0 -1
  561. package/dist/src/web/DiscreteGestureHandler.js +0 -48
  562. package/dist/src/web/DraggingGestureHandler.js +0 -25
  563. package/dist/src/web/Errors.js +0 -5
  564. package/dist/src/web/FlingGestureHandler.js +0 -119
  565. package/dist/src/web/GestureHandler.js +0 -413
  566. package/dist/src/web/IndiscreteGestureHandler.js +0 -26
  567. package/dist/src/web/LongPressGestureHandler.js +0 -46
  568. package/dist/src/web/NativeViewGestureHandler.js +0 -39
  569. package/dist/src/web/NodeManager.js +0 -22
  570. package/dist/src/web/PanGestureHandler.js +0 -145
  571. package/dist/src/web/PinchGestureHandler.js +0 -19
  572. package/dist/src/web/PressGestureHandler.js +0 -135
  573. package/dist/src/web/RotationGestureHandler.js +0 -20
  574. package/dist/src/web/TapGestureHandler.js +0 -143
  575. package/dist/src/web/constants.js +0 -42
  576. package/dist/src/web/utils.js +0 -15
  577. package/index.ts +0 -117
  578. package/src/GestureHandlerRootView.android.expo.tsx +0 -3
  579. package/src/__mocks__/RNGestureHandlerModule.ts +0 -27
  580. package/src/handlers/gestureHandlers.ts +0 -511
@@ -1,47 +0,0 @@
1
- import { Direction } from './web/constants';
2
- import FlingGestureHandler from './web/FlingGestureHandler';
3
- import LongPressGestureHandler from './web/LongPressGestureHandler';
4
- import NativeViewGestureHandler from './web/NativeViewGestureHandler';
5
- import * as NodeManager from './web/NodeManager';
6
- import PanGestureHandler from './web/PanGestureHandler';
7
- import PinchGestureHandler from './web/PinchGestureHandler';
8
- import RotationGestureHandler from './web/RotationGestureHandler';
9
- import TapGestureHandler from './web/TapGestureHandler';
10
- export const Gestures = {
11
- PanGestureHandler,
12
- RotationGestureHandler,
13
- PinchGestureHandler,
14
- TapGestureHandler,
15
- NativeViewGestureHandler,
16
- LongPressGestureHandler,
17
- FlingGestureHandler,
18
- };
19
- export default {
20
- Direction,
21
- handleSetJSResponder(tag, blockNativeResponder) {
22
- console.warn('handleSetJSResponder: ', tag, blockNativeResponder);
23
- },
24
- handleClearJSResponder() {
25
- console.warn('handleClearJSResponder: ');
26
- },
27
- createGestureHandler(handlerName, handlerTag, config) {
28
- //TODO(TS) extends config
29
- if (!(handlerName in Gestures))
30
- throw new Error(`react-native-gesture-handler: ${handlerName} is not supported on web.`);
31
- const GestureClass = Gestures[handlerName];
32
- NodeManager.createGestureHandler(handlerTag, new GestureClass());
33
- this.updateGestureHandler(handlerTag, config);
34
- },
35
- attachGestureHandler(handlerTag, newView, propsRef) {
36
- NodeManager.getHandler(handlerTag).setView(newView, propsRef);
37
- },
38
- updateGestureHandler(handlerTag, newConfig) {
39
- NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);
40
- },
41
- getGestureHandlerNode(handlerTag) {
42
- return NodeManager.getHandler(handlerTag);
43
- },
44
- dropGestureHandler(handlerTag) {
45
- NodeManager.dropGestureHandler(handlerTag);
46
- },
47
- };
package/dist/src/State.js DELETED
@@ -1,9 +0,0 @@
1
- // TODO use State from RNModule
2
- export const State = {
3
- UNDETERMINED: 0,
4
- FAILED: 1,
5
- BEGAN: 2,
6
- CANCELLED: 3,
7
- ACTIVE: 4,
8
- END: 5,
9
- };
@@ -1,23 +0,0 @@
1
- import { View, ScrollView } from 'react-native';
2
- declare const _default: {
3
- ScrollView: typeof ScrollView;
4
- PanGestureHandler: typeof View;
5
- attachGestureHandler: () => void;
6
- createGestureHandler: () => void;
7
- dropGestureHandler: () => void;
8
- updateGestureHandler: () => void;
9
- Direction: {
10
- RIGHT: number;
11
- LEFT: number;
12
- UP: number;
13
- DOWN: number;
14
- };
15
- State: {
16
- BEGAN: string;
17
- FAILED: string;
18
- ACTIVE: string;
19
- END: string;
20
- UNDETERMINED: string;
21
- };
22
- };
23
- export default _default;
@@ -1,25 +0,0 @@
1
- import { View, ScrollView } from 'react-native';
2
- const NOOP = () => {
3
- // do nothing
4
- };
5
- export default {
6
- ScrollView,
7
- PanGestureHandler: View,
8
- attachGestureHandler: NOOP,
9
- createGestureHandler: NOOP,
10
- dropGestureHandler: NOOP,
11
- updateGestureHandler: NOOP,
12
- Direction: {
13
- RIGHT: 1,
14
- LEFT: 2,
15
- UP: 4,
16
- DOWN: 8,
17
- },
18
- State: {
19
- BEGAN: 'BEGAN',
20
- FAILED: 'FAILED',
21
- ACTIVE: 'ACTIVE',
22
- END: 'END',
23
- UNDETERMINED: 'UNDETERMINED',
24
- },
25
- };
@@ -1,391 +0,0 @@
1
- // This component is based on RN's DrawerLayoutAndroid API
2
- //
3
- // It perhaps deserves to be put in a separate repo, but since it relies
4
- // on react-native-gesture-handler library which isn't very popular at the
5
- // moment I decided to keep it here for the time being. It will allow us
6
- // to move faster and fix issues that may arise in gesture handler library
7
- // that could be found when using the drawer component
8
- import * as React from 'react';
9
- import { Component } from 'react';
10
- import invariant from 'invariant';
11
- import { Animated, StyleSheet, View, Keyboard, StatusBar, I18nManager, } from 'react-native';
12
- import { PanGestureHandler, TapGestureHandler, } from '../handlers/gestureHandlers';
13
- import { State } from '../State';
14
- const DRAG_TOSS = 0.05;
15
- const IDLE = 'Idle';
16
- const DRAGGING = 'Dragging';
17
- const SETTLING = 'Settling';
18
- export default class DrawerLayout extends Component {
19
- constructor(props) {
20
- super(props);
21
- this.accessibilityIsModalView = React.createRef();
22
- this.pointerEventsView = React.createRef();
23
- this.panGestureHandler = React.createRef();
24
- this.drawerShown = false;
25
- this.updateAnimatedEvent = (props, state) => {
26
- // Event definition is based on
27
- const { drawerPosition, drawerWidth, drawerType } = props;
28
- const { dragX: dragXValue, touchX: touchXValue, drawerTranslation, containerWidth, } = state;
29
- let dragX = dragXValue;
30
- let touchX = touchXValue;
31
- if (drawerPosition !== 'left') {
32
- // Most of the code is written in a way to handle left-side drawer.
33
- // In order to handle right-side drawer the only thing we need to
34
- // do is to reverse events coming from gesture handler in a way they
35
- // emulate left-side drawer gestures. E.g. dragX is simply -dragX, and
36
- // touchX is calulcated by subtracing real touchX from the width of the
37
- // container (such that when touch happens at the right edge the value
38
- // is simply 0)
39
- dragX = Animated.multiply(new Animated.Value(-1), dragXValue); // TODO(TS): (for all "as" in this file) make sure we can map this
40
- touchX = Animated.add(new Animated.Value(containerWidth), Animated.multiply(new Animated.Value(-1), touchXValue)); // TODO(TS): make sure we can map this;
41
- touchXValue.setValue(containerWidth);
42
- }
43
- else {
44
- touchXValue.setValue(0);
45
- }
46
- // While closing the drawer when user starts gesture outside of its area (in greyed
47
- // out part of the window), we want the drawer to follow only once finger reaches the
48
- // edge of the drawer.
49
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
50
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
51
- // an arrow pointing left
52
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
53
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
54
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
55
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
56
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
57
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
58
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
59
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
60
- // +---------------+ +---------------+ +---------------+ +---------------+
61
- //
62
- // For the above to work properly we define animated value that will keep start position
63
- // of the gesture. Then we use that value to calculate how much we need to subtract from
64
- // the dragX. If the gesture started on the greyed out area we take the distance from the
65
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
66
- // drawer be pulled back as soon as you start the pan.
67
- //
68
- // This is used only when drawerType is "front"
69
- //
70
- let translationX = dragX;
71
- if (drawerType === 'front') {
72
- const startPositionX = Animated.add(touchX, Animated.multiply(new Animated.Value(-1), dragX));
73
- const dragOffsetFromOnStartPosition = startPositionX.interpolate({
74
- inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1],
75
- outputRange: [0, 0, 1],
76
- });
77
- translationX = Animated.add(dragX, dragOffsetFromOnStartPosition); // TODO: as above
78
- }
79
- this.openValue = Animated.add(translationX, drawerTranslation).interpolate({
80
- inputRange: [0, drawerWidth],
81
- outputRange: [0, 1],
82
- extrapolate: 'clamp',
83
- });
84
- const gestureOptions = {
85
- useNativeDriver: props.useNativeAnimations,
86
- };
87
- if (this.props.onDrawerSlide) {
88
- gestureOptions.listener = (ev) => {
89
- const translationX = Math.floor(Math.abs(ev.nativeEvent.translationX));
90
- const position = translationX / this.state.containerWidth;
91
- this.props.onDrawerSlide?.(position);
92
- };
93
- }
94
- this.onGestureEvent = Animated.event([{ nativeEvent: { translationX: dragXValue, x: touchXValue } }], gestureOptions);
95
- };
96
- this.handleContainerLayout = ({ nativeEvent }) => {
97
- this.setState({ containerWidth: nativeEvent.layout.width });
98
- };
99
- this.emitStateChanged = (newState, drawerWillShow) => {
100
- this.props.onDrawerStateChanged?.(newState, drawerWillShow);
101
- };
102
- this.openingHandlerStateChange = ({ nativeEvent, }) => {
103
- if (nativeEvent.oldState === State.ACTIVE) {
104
- this.handleRelease({ nativeEvent });
105
- }
106
- else if (nativeEvent.state === State.ACTIVE) {
107
- this.emitStateChanged(DRAGGING, false);
108
- if (this.props.keyboardDismissMode === 'on-drag') {
109
- Keyboard.dismiss();
110
- }
111
- if (this.props.hideStatusBar) {
112
- StatusBar.setHidden(true, this.props.statusBarAnimation || 'slide');
113
- }
114
- }
115
- };
116
- this.onTapHandlerStateChange = ({ nativeEvent, }) => {
117
- if (this.drawerShown &&
118
- nativeEvent.oldState === State.ACTIVE &&
119
- this.props.drawerLockMode !== 'locked-open') {
120
- this.closeDrawer();
121
- }
122
- };
123
- this.handleRelease = ({ nativeEvent, }) => {
124
- const { drawerWidth, drawerPosition, drawerType } = this.props;
125
- const { containerWidth } = this.state;
126
- let { translationX: dragX, velocityX, x: touchX } = nativeEvent;
127
- if (drawerPosition !== 'left') {
128
- // See description in _updateAnimatedEvent about why events are flipped
129
- // for right-side drawer
130
- dragX = -dragX;
131
- touchX = containerWidth - touchX;
132
- velocityX = -velocityX;
133
- }
134
- const gestureStartX = touchX - dragX;
135
- let dragOffsetBasedOnStart = 0;
136
- if (drawerType === 'front') {
137
- dragOffsetBasedOnStart =
138
- gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;
139
- }
140
- const startOffsetX = dragX + dragOffsetBasedOnStart + (this.drawerShown ? drawerWidth : 0);
141
- const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;
142
- const shouldOpen = projOffsetX > drawerWidth / 2;
143
- if (shouldOpen) {
144
- this.animateDrawer(startOffsetX, drawerWidth, velocityX);
145
- }
146
- else {
147
- this.animateDrawer(startOffsetX, 0, velocityX);
148
- }
149
- };
150
- this.updateShowing = (showing) => {
151
- this.drawerShown = showing;
152
- this.accessibilityIsModalView.current?.setNativeProps({
153
- accessibilityViewIsModal: showing,
154
- });
155
- this.pointerEventsView.current?.setNativeProps({
156
- pointerEvents: showing ? 'auto' : 'none',
157
- });
158
- const { drawerPosition, minSwipeDistance, edgeWidth } = this.props;
159
- const fromLeft = drawerPosition === 'left';
160
- // gestureOrientation is 1 if the expected gesture is from left to right and -1 otherwise
161
- // e.g. when drawer is on the left and is closed we expect left to right gesture, thus
162
- // orientation will be 1.
163
- const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
164
- // When drawer is closed we want the hitSlop to be horizontally shorter
165
- // than the container size by the value of SLOP. This will make it only
166
- // activate when gesture happens not further than SLOP away from the edge
167
- const hitSlop = fromLeft
168
- ? { left: 0, width: showing ? undefined : edgeWidth }
169
- : { right: 0, width: showing ? undefined : edgeWidth };
170
- // @ts-ignore internal API, maybe could be fixed in handler types
171
- this.panGestureHandler.current?.setNativeProps({
172
- hitSlop,
173
- activeOffsetX: gestureOrientation * minSwipeDistance,
174
- });
175
- };
176
- this.animateDrawer = (fromValue, toValue, velocity, speed) => {
177
- this.state.dragX.setValue(0);
178
- this.state.touchX.setValue(this.props.drawerPosition === 'left' ? 0 : this.state.containerWidth);
179
- if (fromValue != null) {
180
- let nextFramePosition = fromValue;
181
- if (this.props.useNativeAnimations) {
182
- // When using native driver, we predict the next position of the animation
183
- // because it takes one frame of a roundtrip to pass RELEASE event from
184
- // native driver to JS before we can start animating. Without it, it is more
185
- // noticable that the frame is dropped.
186
- if (fromValue < toValue && velocity > 0) {
187
- nextFramePosition = Math.min(fromValue + velocity / 60.0, toValue);
188
- }
189
- else if (fromValue > toValue && velocity < 0) {
190
- nextFramePosition = Math.max(fromValue + velocity / 60.0, toValue);
191
- }
192
- }
193
- this.state.drawerTranslation.setValue(nextFramePosition);
194
- }
195
- const willShow = toValue !== 0;
196
- this.updateShowing(willShow);
197
- this.emitStateChanged(SETTLING, willShow);
198
- if (this.props.hideStatusBar) {
199
- StatusBar.setHidden(willShow, this.props.statusBarAnimation || 'slide');
200
- }
201
- Animated.spring(this.state.drawerTranslation, {
202
- velocity,
203
- bounciness: 0,
204
- toValue,
205
- useNativeDriver: this.props.useNativeAnimations,
206
- speed: speed ?? undefined,
207
- }).start(({ finished }) => {
208
- if (finished) {
209
- this.emitStateChanged(IDLE, willShow);
210
- if (willShow) {
211
- this.props.onDrawerOpen?.();
212
- }
213
- else {
214
- this.props.onDrawerClose?.();
215
- }
216
- }
217
- });
218
- };
219
- this.openDrawer = (options = {}) => {
220
- this.animateDrawer(
221
- // TODO: decide if it should be null or undefined is the proper value
222
- undefined, this.props.drawerWidth, options.velocity ? options.velocity : 0);
223
- // We need to force the update, otherwise the overlay is not rerendered and it would not be clickable
224
- this.forceUpdate();
225
- };
226
- this.closeDrawer = (options = {}) => {
227
- // TODO: decide if it should be null or undefined is the proper value
228
- this.animateDrawer(undefined, 0, options.velocity ? options.velocity : 0);
229
- // We need to force the update, otherwise the overlay is not rerendered and it would be still clickable
230
- this.forceUpdate();
231
- };
232
- this.renderOverlay = () => {
233
- /* Overlay styles */
234
- invariant(this.openValue, 'should be set');
235
- const overlayOpacity = this.openValue.interpolate({
236
- inputRange: [0, 1],
237
- outputRange: [0, 1],
238
- extrapolate: 'clamp',
239
- });
240
- const dynamicOverlayStyles = {
241
- opacity: overlayOpacity,
242
- backgroundColor: this.props.overlayColor,
243
- };
244
- return (<TapGestureHandler onHandlerStateChange={this.onTapHandlerStateChange}>
245
- <Animated.View pointerEvents={this.drawerShown ? 'auto' : 'none'} ref={this.pointerEventsView} style={[styles.overlay, dynamicOverlayStyles]}/>
246
- </TapGestureHandler>);
247
- };
248
- this.renderDrawer = () => {
249
- const { drawerBackgroundColor, drawerWidth, drawerPosition, drawerType, drawerContainerStyle, contentContainerStyle, } = this.props;
250
- const fromLeft = drawerPosition === 'left';
251
- const drawerSlide = drawerType !== 'back';
252
- const containerSlide = drawerType !== 'front';
253
- // we rely on row and row-reverse flex directions to position the drawer
254
- // properly. Apparently for RTL these are flipped which requires us to use
255
- // the opposite setting for the drawer to appear from left or right according
256
- // to the drawerPosition prop
257
- const reverseContentDirection = I18nManager.isRTL ? fromLeft : !fromLeft;
258
- const dynamicDrawerStyles = {
259
- backgroundColor: drawerBackgroundColor,
260
- width: drawerWidth,
261
- };
262
- const openValue = this.openValue;
263
- invariant(openValue, 'should be set');
264
- let containerStyles;
265
- if (containerSlide) {
266
- const containerTranslateX = openValue.interpolate({
267
- inputRange: [0, 1],
268
- outputRange: fromLeft ? [0, drawerWidth] : [0, -drawerWidth],
269
- extrapolate: 'clamp',
270
- });
271
- containerStyles = {
272
- transform: [{ translateX: containerTranslateX }],
273
- };
274
- }
275
- let drawerTranslateX = 0;
276
- if (drawerSlide) {
277
- const closedDrawerOffset = fromLeft ? -drawerWidth : drawerWidth;
278
- drawerTranslateX = openValue.interpolate({
279
- inputRange: [0, 1],
280
- outputRange: [closedDrawerOffset, 0],
281
- extrapolate: 'clamp',
282
- });
283
- }
284
- const drawerStyles = {
285
- transform: [{ translateX: drawerTranslateX }],
286
- flexDirection: reverseContentDirection ? 'row-reverse' : 'row',
287
- };
288
- return (<Animated.View style={styles.main} onLayout={this.handleContainerLayout}>
289
- <Animated.View style={[
290
- drawerType === 'front'
291
- ? styles.containerOnBack
292
- : styles.containerInFront,
293
- containerStyles,
294
- contentContainerStyle,
295
- ]} importantForAccessibility={this.drawerShown ? 'no-hide-descendants' : 'yes'}>
296
- {typeof this.props.children === 'function'
297
- ? this.props.children(this.openValue)
298
- : this.props.children}
299
- {this.renderOverlay()}
300
- </Animated.View>
301
- <Animated.View pointerEvents="box-none" ref={this.accessibilityIsModalView} accessibilityViewIsModal={this.drawerShown} style={[styles.drawerContainer, drawerStyles, drawerContainerStyle]}>
302
- <View style={dynamicDrawerStyles}>
303
- {this.props.renderNavigationView(this.openValue)}
304
- </View>
305
- </Animated.View>
306
- </Animated.View>);
307
- };
308
- this.setPanGestureRef = (ref) => {
309
- // TODO(TS): make sure it is OK
310
- // taken from https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842
311
- this
312
- .panGestureHandler.current = ref;
313
- this.props.onGestureRef?.(ref);
314
- };
315
- const dragX = new Animated.Value(0);
316
- const touchX = new Animated.Value(0);
317
- const drawerTranslation = new Animated.Value(0);
318
- this.state = {
319
- dragX,
320
- touchX,
321
- drawerTranslation,
322
- containerWidth: 0,
323
- };
324
- this.updateAnimatedEvent(props, this.state);
325
- }
326
- UNSAFE_componentWillUpdate(props, state) {
327
- if (this.props.drawerPosition !== props.drawerPosition ||
328
- this.props.drawerWidth !== props.drawerWidth ||
329
- this.props.drawerType !== props.drawerType ||
330
- this.state.containerWidth !== state.containerWidth) {
331
- this.updateAnimatedEvent(props, state);
332
- }
333
- }
334
- render() {
335
- const { drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance, } = this.props;
336
- const fromLeft = drawerPosition === 'left';
337
- // gestureOrientation is 1 if the expected gesture is from left to right and -1 otherwise
338
- // e.g. when drawer is on the left and is closed we expect left to right gesture, thus
339
- // orientation will be 1.
340
- const gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
341
- // When drawer is closed we want the hitSlop to be horizontally shorter
342
- // than the container size by the value of SLOP. This will make it only
343
- // activate when gesture happens not further than SLOP away from the edge
344
- const hitSlop = fromLeft
345
- ? { left: 0, width: this.drawerShown ? undefined : edgeWidth }
346
- : { right: 0, width: this.drawerShown ? undefined : edgeWidth };
347
- return (<PanGestureHandler
348
- // @ts-ignore could be fixed in handler types
349
- ref={this.setPanGestureRef} hitSlop={hitSlop} activeOffsetX={gestureOrientation * minSwipeDistance} failOffsetY={[-15, 15]} onGestureEvent={this.onGestureEvent} onHandlerStateChange={this.openingHandlerStateChange} enableTrackpadTwoFingerGesture={this.props.enableTrackpadTwoFingerGesture} enabled={drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open'}>
350
- {this.renderDrawer()}
351
- </PanGestureHandler>);
352
- }
353
- }
354
- DrawerLayout.defaultProps = {
355
- drawerWidth: 200,
356
- drawerPosition: 'left',
357
- useNativeAnimations: true,
358
- drawerType: 'front',
359
- edgeWidth: 20,
360
- minSwipeDistance: 3,
361
- overlayColor: 'rgba(0, 0, 0, 0.7)',
362
- drawerLockMode: 'unlocked',
363
- enableTrackpadTwoFingerGesture: false,
364
- };
365
- DrawerLayout.positions = {
366
- Left: 'left',
367
- Right: 'right',
368
- };
369
- const styles = StyleSheet.create({
370
- drawerContainer: {
371
- ...StyleSheet.absoluteFillObject,
372
- zIndex: 1001,
373
- flexDirection: 'row',
374
- },
375
- containerInFront: {
376
- ...StyleSheet.absoluteFillObject,
377
- zIndex: 1002,
378
- },
379
- containerOnBack: {
380
- ...StyleSheet.absoluteFillObject,
381
- },
382
- main: {
383
- flex: 1,
384
- zIndex: 0,
385
- overflow: 'hidden',
386
- },
387
- overlay: {
388
- ...StyleSheet.absoluteFillObject,
389
- zIndex: 1000,
390
- },
391
- });
@@ -1,113 +0,0 @@
1
- import * as React from 'react';
2
- import { Animated, Platform, processColor, StyleSheet, } from 'react-native';
3
- import createNativeWrapper from '../handlers/createNativeWrapper';
4
- import GestureHandlerButton from './GestureHandlerButton';
5
- import { State } from '../State';
6
- export const RawButton = createNativeWrapper(GestureHandlerButton, {
7
- shouldCancelWhenOutside: false,
8
- shouldActivateOnStart: false,
9
- });
10
- export class BaseButton extends React.Component {
11
- constructor(props) {
12
- super(props);
13
- this.handleEvent = ({ nativeEvent, }) => {
14
- const { state, oldState, pointerInside } = nativeEvent;
15
- const active = pointerInside && state === State.ACTIVE;
16
- if (active !== this.lastActive && this.props.onActiveStateChange) {
17
- this.props.onActiveStateChange(active);
18
- }
19
- if (oldState === State.ACTIVE &&
20
- state !== State.CANCELLED &&
21
- this.lastActive &&
22
- this.props.onPress) {
23
- this.props.onPress(active);
24
- }
25
- this.lastActive = active;
26
- };
27
- // Normally, the parent would execute it's handler first,
28
- // then forward the event to listeners. However, here our handler
29
- // is virtually only forwarding events to listeners, so we reverse the order
30
- // to keep the proper order of the callbacks (from "raw" ones to "processed").
31
- this.onHandlerStateChange = (e) => {
32
- this.props.onHandlerStateChange?.(e);
33
- this.handleEvent(e);
34
- };
35
- this.onGestureEvent = (e) => {
36
- this.props.onGestureEvent?.(e);
37
- this.handleEvent(e); // TODO: maybe it is not correct
38
- };
39
- this.lastActive = false;
40
- }
41
- render() {
42
- const { rippleColor, ...rest } = this.props;
43
- return (<RawButton rippleColor={processColor(rippleColor)} {...rest} onGestureEvent={this.onGestureEvent} onHandlerStateChange={this.onHandlerStateChange}/>);
44
- }
45
- }
46
- const AnimatedBaseButton = Animated.createAnimatedComponent(BaseButton);
47
- const btnStyles = StyleSheet.create({
48
- underlay: {
49
- position: 'absolute',
50
- left: 0,
51
- right: 0,
52
- bottom: 0,
53
- top: 0,
54
- },
55
- });
56
- export class RectButton extends React.Component {
57
- constructor(props) {
58
- super(props);
59
- this.onActiveStateChange = (active) => {
60
- if (Platform.OS !== 'android') {
61
- this.opacity.setValue(active ? this.props.activeOpacity : 0);
62
- }
63
- this.props.onActiveStateChange?.(active);
64
- };
65
- this.opacity = new Animated.Value(0);
66
- }
67
- render() {
68
- const { children, style, ...rest } = this.props;
69
- const resolvedStyle = StyleSheet.flatten(style ?? {});
70
- return (<BaseButton {...rest} style={resolvedStyle} onActiveStateChange={this.onActiveStateChange}>
71
- <Animated.View style={[
72
- btnStyles.underlay,
73
- {
74
- opacity: this.opacity,
75
- backgroundColor: this.props.underlayColor,
76
- borderRadius: resolvedStyle.borderRadius,
77
- borderTopLeftRadius: resolvedStyle.borderTopLeftRadius,
78
- borderTopRightRadius: resolvedStyle.borderTopRightRadius,
79
- borderBottomLeftRadius: resolvedStyle.borderBottomLeftRadius,
80
- borderBottomRightRadius: resolvedStyle.borderBottomRightRadius,
81
- },
82
- ]}/>
83
- {children}
84
- </BaseButton>);
85
- }
86
- }
87
- RectButton.defaultProps = {
88
- activeOpacity: 0.105,
89
- underlayColor: 'black',
90
- };
91
- export class BorderlessButton extends React.Component {
92
- constructor(props) {
93
- super(props);
94
- this.onActiveStateChange = (active) => {
95
- if (Platform.OS !== 'android') {
96
- this.opacity.setValue(active ? this.props.activeOpacity : 1);
97
- }
98
- this.props.onActiveStateChange?.(active);
99
- };
100
- this.opacity = new Animated.Value(1);
101
- }
102
- render() {
103
- const { children, style, ...rest } = this.props;
104
- return (<AnimatedBaseButton {...rest} onActiveStateChange={this.onActiveStateChange} style={[style, Platform.OS === 'ios' && { opacity: this.opacity }]}>
105
- {children}
106
- </AnimatedBaseButton>);
107
- }
108
- }
109
- BorderlessButton.defaultProps = {
110
- activeOpacity: 0.3,
111
- borderless: true,
112
- };
113
- export { default as PureNativeButton } from './GestureHandlerButton';
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
- import { ScrollViewProps as RNScrollViewProps, SwitchProps as RNSwitchProps, TextInputProps as RNTextInputProps, DrawerLayoutAndroidProps as RNDrawerLayoutAndroidProps, FlatList as RNFlatList, FlatListProps as RNFlatListProps } from 'react-native';
3
- import { NativeViewGestureHandlerProps } from '../handlers/NativeViewGestureHandler';
4
- export declare const ScrollView: React.ForwardRefExoticComponent<RNScrollViewProps & {
5
- children?: React.ReactNode;
6
- } & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
7
- export declare type ScrollView = typeof ScrollView & {
8
- scrollTo(y?: number | {
9
- x?: number;
10
- y?: number;
11
- animated?: boolean;
12
- }, x?: number, animated?: boolean): void;
13
- scrollToEnd(options?: {
14
- animated: boolean;
15
- }): void;
16
- };
17
- export declare const Switch: React.ForwardRefExoticComponent<RNSwitchProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
18
- export declare type Switch = typeof Switch;
19
- export declare const TextInput: React.ForwardRefExoticComponent<RNTextInputProps & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
20
- export declare type TextInput = typeof TextInput;
21
- export declare const DrawerLayoutAndroid: React.ForwardRefExoticComponent<RNDrawerLayoutAndroidProps & {
22
- children?: React.ReactNode;
23
- } & NativeViewGestureHandlerProps & React.RefAttributes<React.ComponentType<any>>>;
24
- export declare type DrawerLayoutAndroid = typeof DrawerLayoutAndroid;
25
- export declare const FlatList: React.ForwardRefExoticComponent<RNFlatListProps<any> & React.RefAttributes<RNFlatList<any>>>;
26
- export declare type FlatList<ItemT> = React.ComponentType<RNFlatListProps<ItemT> & NativeViewGestureHandlerProps & React.RefAttributes<any>> & {
27
- scrollToEnd: (params?: {
28
- animated?: boolean;
29
- }) => void;
30
- scrollToIndex: (params: {
31
- animated?: boolean;
32
- index: number;
33
- viewOffset?: number;
34
- viewPosition?: number;
35
- }) => void;
36
- scrollToItem: (params: {
37
- animated?: boolean;
38
- item: ItemT;
39
- viewPosition?: number;
40
- }) => void;
41
- scrollToOffset: (params: {
42
- animated?: boolean;
43
- offset: number;
44
- }) => void;
45
- };
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
- import { ScrollView as RNScrollView, Switch as RNSwitch, TextInput as RNTextInput, DrawerLayoutAndroid as RNDrawerLayoutAndroid, FlatList as RNFlatList, } from 'react-native';
3
- import createNativeWrapper from '../handlers/createNativeWrapper';
4
- export const ScrollView = createNativeWrapper(RNScrollView, {
5
- disallowInterruption: true,
6
- shouldCancelWhenOutside: false,
7
- });
8
- export const Switch = createNativeWrapper(RNSwitch, {
9
- shouldCancelWhenOutside: false,
10
- shouldActivateOnStart: true,
11
- disallowInterruption: true,
12
- });
13
- export const TextInput = createNativeWrapper(RNTextInput);
14
- export const DrawerLayoutAndroid = createNativeWrapper(RNDrawerLayoutAndroid, { disallowInterruption: true });
15
- // we use literal object since TS gives error when using RN's `positions`
16
- // @ts-ignore FIXME(TS) maybe this should be removed?
17
- DrawerLayoutAndroid.positions = { Left: 'left', Right: 'right' };
18
- export const FlatList = React.forwardRef((props, ref) => (<RNFlatList ref={ref} {...props} renderScrollComponent={(scrollProps) => <ScrollView {...scrollProps}/>}/>));