react-native-gesture-handler 2.22.1 → 2.23.1

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 (275) hide show
  1. package/RNGestureHandler.podspec +8 -0
  2. package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +14 -0
  3. package/android/src/main/jni/cpp-adapter.cpp +19 -12
  4. package/apple/RNGestureHandler.mm +15 -8
  5. package/apple/RNGestureHandlerButton.mm +12 -2
  6. package/apple/RNGestureHandlerModule.mm +17 -5
  7. package/lib/commonjs/RNGestureHandlerModule.web.js +2 -2
  8. package/lib/commonjs/RNGestureHandlerModule.web.js.map +1 -1
  9. package/lib/commonjs/components/DrawerLayout.js +6 -0
  10. package/lib/commonjs/components/DrawerLayout.js.map +1 -1
  11. package/lib/commonjs/components/GestureButtons.js +11 -2
  12. package/lib/commonjs/components/GestureButtons.js.map +1 -1
  13. package/lib/commonjs/components/Pressable/Pressable.js +21 -5
  14. package/lib/commonjs/components/Pressable/Pressable.js.map +1 -1
  15. package/lib/commonjs/components/Pressable/index.js.map +1 -1
  16. package/lib/commonjs/components/ReanimatedSwipeable.js +49 -20
  17. package/lib/commonjs/components/ReanimatedSwipeable.js.map +1 -1
  18. package/lib/commonjs/components/Text.js +10 -4
  19. package/lib/commonjs/components/Text.js.map +1 -1
  20. package/lib/commonjs/components/touchables/TouchableHighlight.js +2 -0
  21. package/lib/commonjs/components/touchables/TouchableHighlight.js.map +1 -1
  22. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js +2 -0
  23. package/lib/commonjs/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  24. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js +5 -1
  25. package/lib/commonjs/components/touchables/TouchableNativeFeedback.js.map +1 -1
  26. package/lib/commonjs/components/touchables/TouchableOpacity.js +2 -0
  27. package/lib/commonjs/components/touchables/TouchableOpacity.js.map +1 -1
  28. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js +3 -0
  29. package/lib/commonjs/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  30. package/lib/commonjs/findNodeHandle.web.js +9 -1
  31. package/lib/commonjs/findNodeHandle.web.js.map +1 -1
  32. package/lib/commonjs/handlers/FlingGestureHandler.js +8 -0
  33. package/lib/commonjs/handlers/FlingGestureHandler.js.map +1 -1
  34. package/lib/commonjs/handlers/ForceTouchGestureHandler.js +5 -1
  35. package/lib/commonjs/handlers/ForceTouchGestureHandler.js.map +1 -1
  36. package/lib/commonjs/handlers/LongPressGestureHandler.js +8 -0
  37. package/lib/commonjs/handlers/LongPressGestureHandler.js.map +1 -1
  38. package/lib/commonjs/handlers/NativeViewGestureHandler.js +8 -0
  39. package/lib/commonjs/handlers/NativeViewGestureHandler.js.map +1 -1
  40. package/lib/commonjs/handlers/PanGestureHandler.js +8 -0
  41. package/lib/commonjs/handlers/PanGestureHandler.js.map +1 -1
  42. package/lib/commonjs/handlers/PinchGestureHandler.js +8 -0
  43. package/lib/commonjs/handlers/PinchGestureHandler.js.map +1 -1
  44. package/lib/commonjs/handlers/RotationGestureHandler.js +8 -0
  45. package/lib/commonjs/handlers/RotationGestureHandler.js.map +1 -1
  46. package/lib/commonjs/handlers/TapGestureHandler.js +8 -0
  47. package/lib/commonjs/handlers/TapGestureHandler.js.map +1 -1
  48. package/lib/commonjs/handlers/createHandler.js +6 -2
  49. package/lib/commonjs/handlers/createHandler.js.map +1 -1
  50. package/lib/commonjs/handlers/gestures/GestureDetector/index.js +1 -1
  51. package/lib/commonjs/handlers/gestures/GestureDetector/index.js.map +1 -1
  52. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js +2 -2
  53. package/lib/commonjs/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  54. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js +1 -1
  55. package/lib/commonjs/handlers/gestures/GestureDetector/utils.js.map +1 -1
  56. package/lib/commonjs/handlers/handlersRegistry.js +7 -2
  57. package/lib/commonjs/handlers/handlersRegistry.js.map +1 -1
  58. package/lib/commonjs/index.js.map +1 -1
  59. package/lib/commonjs/utils.js +3 -3
  60. package/lib/commonjs/utils.js.map +1 -1
  61. package/lib/commonjs/web/detectors/RotationGestureDetector.js +22 -22
  62. package/lib/commonjs/web/detectors/RotationGestureDetector.js.map +1 -1
  63. package/lib/commonjs/web/detectors/ScaleGestureDetector.js +24 -24
  64. package/lib/commonjs/web/detectors/ScaleGestureDetector.js.map +1 -1
  65. package/lib/commonjs/web/handlers/FlingGestureHandler.js +6 -6
  66. package/lib/commonjs/web/handlers/FlingGestureHandler.js.map +1 -1
  67. package/lib/commonjs/web/handlers/GestureHandler.js +112 -92
  68. package/lib/commonjs/web/handlers/GestureHandler.js.map +1 -1
  69. package/lib/commonjs/web/handlers/HoverGestureHandler.js +2 -2
  70. package/lib/commonjs/web/handlers/HoverGestureHandler.js.map +1 -1
  71. package/lib/commonjs/web/handlers/LongPressGestureHandler.js +6 -6
  72. package/lib/commonjs/web/handlers/LongPressGestureHandler.js.map +1 -1
  73. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js +13 -13
  74. package/lib/commonjs/web/handlers/NativeViewGestureHandler.js.map +1 -1
  75. package/lib/commonjs/web/handlers/PanGestureHandler.js +15 -15
  76. package/lib/commonjs/web/handlers/PanGestureHandler.js.map +1 -1
  77. package/lib/commonjs/web/handlers/PinchGestureHandler.js +15 -15
  78. package/lib/commonjs/web/handlers/PinchGestureHandler.js.map +1 -1
  79. package/lib/commonjs/web/handlers/RotationGestureHandler.js +12 -12
  80. package/lib/commonjs/web/handlers/RotationGestureHandler.js.map +1 -1
  81. package/lib/commonjs/web/handlers/TapGestureHandler.js +4 -4
  82. package/lib/commonjs/web/handlers/TapGestureHandler.js.map +1 -1
  83. package/lib/commonjs/web/tools/CircularBuffer.js +15 -15
  84. package/lib/commonjs/web/tools/CircularBuffer.js.map +1 -1
  85. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js +40 -40
  86. package/lib/commonjs/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  87. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js +32 -13
  88. package/lib/commonjs/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  89. package/lib/commonjs/web/tools/InteractionManager.js +16 -18
  90. package/lib/commonjs/web/tools/InteractionManager.js.map +1 -1
  91. package/lib/commonjs/web/tools/NodeManager.js +2 -2
  92. package/lib/commonjs/web/tools/NodeManager.js.map +1 -1
  93. package/lib/commonjs/web/tools/PointerTracker.js +18 -18
  94. package/lib/commonjs/web/tools/PointerTracker.js.map +1 -1
  95. package/lib/commonjs/web/tools/Vector.js.map +1 -1
  96. package/lib/commonjs/web/tools/VelocityTracker.js +1 -1
  97. package/lib/commonjs/web/tools/VelocityTracker.js.map +1 -1
  98. package/lib/module/RNGestureHandlerModule.web.js +2 -2
  99. package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
  100. package/lib/module/components/DrawerLayout.js +7 -0
  101. package/lib/module/components/DrawerLayout.js.map +1 -1
  102. package/lib/module/components/GestureButtons.js +10 -2
  103. package/lib/module/components/GestureButtons.js.map +1 -1
  104. package/lib/module/components/Pressable/Pressable.js +22 -6
  105. package/lib/module/components/Pressable/Pressable.js.map +1 -1
  106. package/lib/module/components/Pressable/index.js.map +1 -1
  107. package/lib/module/components/ReanimatedSwipeable.js +49 -20
  108. package/lib/module/components/ReanimatedSwipeable.js.map +1 -1
  109. package/lib/module/components/Text.js +8 -3
  110. package/lib/module/components/Text.js.map +1 -1
  111. package/lib/module/components/touchables/TouchableHighlight.js +2 -0
  112. package/lib/module/components/touchables/TouchableHighlight.js.map +1 -1
  113. package/lib/module/components/touchables/TouchableNativeFeedback.android.js +2 -0
  114. package/lib/module/components/touchables/TouchableNativeFeedback.android.js.map +1 -1
  115. package/lib/module/components/touchables/TouchableNativeFeedback.js +6 -1
  116. package/lib/module/components/touchables/TouchableNativeFeedback.js.map +1 -1
  117. package/lib/module/components/touchables/TouchableOpacity.js +5 -0
  118. package/lib/module/components/touchables/TouchableOpacity.js.map +1 -1
  119. package/lib/module/components/touchables/TouchableWithoutFeedback.js +4 -0
  120. package/lib/module/components/touchables/TouchableWithoutFeedback.js.map +1 -1
  121. package/lib/module/findNodeHandle.web.js +8 -1
  122. package/lib/module/findNodeHandle.web.js.map +1 -1
  123. package/lib/module/handlers/FlingGestureHandler.js +7 -0
  124. package/lib/module/handlers/FlingGestureHandler.js.map +1 -1
  125. package/lib/module/handlers/ForceTouchGestureHandler.js +5 -1
  126. package/lib/module/handlers/ForceTouchGestureHandler.js.map +1 -1
  127. package/lib/module/handlers/LongPressGestureHandler.js +7 -0
  128. package/lib/module/handlers/LongPressGestureHandler.js.map +1 -1
  129. package/lib/module/handlers/NativeViewGestureHandler.js +7 -0
  130. package/lib/module/handlers/NativeViewGestureHandler.js.map +1 -1
  131. package/lib/module/handlers/PanGestureHandler.js +7 -0
  132. package/lib/module/handlers/PanGestureHandler.js.map +1 -1
  133. package/lib/module/handlers/PinchGestureHandler.js +11 -0
  134. package/lib/module/handlers/PinchGestureHandler.js.map +1 -1
  135. package/lib/module/handlers/RotationGestureHandler.js +11 -0
  136. package/lib/module/handlers/RotationGestureHandler.js.map +1 -1
  137. package/lib/module/handlers/TapGestureHandler.js +7 -0
  138. package/lib/module/handlers/TapGestureHandler.js.map +1 -1
  139. package/lib/module/handlers/createHandler.js +9 -4
  140. package/lib/module/handlers/createHandler.js.map +1 -1
  141. package/lib/module/handlers/gestures/GestureDetector/index.js +2 -2
  142. package/lib/module/handlers/gestures/GestureDetector/index.js.map +1 -1
  143. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js +2 -2
  144. package/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.js.map +1 -1
  145. package/lib/module/handlers/gestures/GestureDetector/utils.js +2 -2
  146. package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
  147. package/lib/module/handlers/handlersRegistry.js +6 -3
  148. package/lib/module/handlers/handlersRegistry.js.map +1 -1
  149. package/lib/module/index.js.map +1 -1
  150. package/lib/module/utils.js +2 -2
  151. package/lib/module/utils.js.map +1 -1
  152. package/lib/module/web/detectors/RotationGestureDetector.js +22 -22
  153. package/lib/module/web/detectors/RotationGestureDetector.js.map +1 -1
  154. package/lib/module/web/detectors/ScaleGestureDetector.js +24 -24
  155. package/lib/module/web/detectors/ScaleGestureDetector.js.map +1 -1
  156. package/lib/module/web/handlers/FlingGestureHandler.js +6 -6
  157. package/lib/module/web/handlers/FlingGestureHandler.js.map +1 -1
  158. package/lib/module/web/handlers/GestureHandler.js +112 -92
  159. package/lib/module/web/handlers/GestureHandler.js.map +1 -1
  160. package/lib/module/web/handlers/HoverGestureHandler.js +2 -2
  161. package/lib/module/web/handlers/HoverGestureHandler.js.map +1 -1
  162. package/lib/module/web/handlers/LongPressGestureHandler.js +6 -6
  163. package/lib/module/web/handlers/LongPressGestureHandler.js.map +1 -1
  164. package/lib/module/web/handlers/NativeViewGestureHandler.js +13 -13
  165. package/lib/module/web/handlers/NativeViewGestureHandler.js.map +1 -1
  166. package/lib/module/web/handlers/PanGestureHandler.js +15 -15
  167. package/lib/module/web/handlers/PanGestureHandler.js.map +1 -1
  168. package/lib/module/web/handlers/PinchGestureHandler.js +15 -15
  169. package/lib/module/web/handlers/PinchGestureHandler.js.map +1 -1
  170. package/lib/module/web/handlers/RotationGestureHandler.js +12 -12
  171. package/lib/module/web/handlers/RotationGestureHandler.js.map +1 -1
  172. package/lib/module/web/handlers/TapGestureHandler.js +4 -4
  173. package/lib/module/web/handlers/TapGestureHandler.js.map +1 -1
  174. package/lib/module/web/tools/CircularBuffer.js +15 -15
  175. package/lib/module/web/tools/CircularBuffer.js.map +1 -1
  176. package/lib/module/web/tools/GestureHandlerOrchestrator.js +40 -40
  177. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  178. package/lib/module/web/tools/GestureHandlerWebDelegate.js +32 -13
  179. package/lib/module/web/tools/GestureHandlerWebDelegate.js.map +1 -1
  180. package/lib/module/web/tools/InteractionManager.js +16 -16
  181. package/lib/module/web/tools/InteractionManager.js.map +1 -1
  182. package/lib/module/web/tools/NodeManager.js +2 -2
  183. package/lib/module/web/tools/NodeManager.js.map +1 -1
  184. package/lib/module/web/tools/PointerTracker.js +18 -18
  185. package/lib/module/web/tools/PointerTracker.js.map +1 -1
  186. package/lib/module/web/tools/Vector.js.map +1 -1
  187. package/lib/module/web/tools/VelocityTracker.js +1 -1
  188. package/lib/module/web/tools/VelocityTracker.js.map +1 -1
  189. package/lib/typescript/components/DrawerLayout.d.ts +27 -0
  190. package/lib/typescript/components/GestureButtonsProps.d.ts +18 -2
  191. package/lib/typescript/components/Pressable/PressableProps.d.ts +3 -10
  192. package/lib/typescript/components/Pressable/index.d.ts +1 -1
  193. package/lib/typescript/components/ReanimatedSwipeable.d.ts +6 -0
  194. package/lib/typescript/components/touchables/TouchableHighlight.d.ts +5 -0
  195. package/lib/typescript/components/touchables/TouchableNativeFeedback.android.d.ts +2 -0
  196. package/lib/typescript/components/touchables/TouchableNativeFeedback.d.ts +5 -1
  197. package/lib/typescript/components/touchables/TouchableNativeFeedbackProps.d.ts +3 -0
  198. package/lib/typescript/components/touchables/TouchableOpacity.d.ts +5 -0
  199. package/lib/typescript/components/touchables/TouchableWithoutFeedback.d.ts +6 -0
  200. package/lib/typescript/handlers/FlingGestureHandler.d.ts +9 -0
  201. package/lib/typescript/handlers/ForceTouchGestureHandler.d.ts +9 -0
  202. package/lib/typescript/handlers/LongPressGestureHandler.d.ts +9 -0
  203. package/lib/typescript/handlers/NativeViewGestureHandler.d.ts +9 -0
  204. package/lib/typescript/handlers/PanGestureHandler.d.ts +9 -0
  205. package/lib/typescript/handlers/PinchGestureHandler.d.ts +9 -0
  206. package/lib/typescript/handlers/RotationGestureHandler.d.ts +9 -0
  207. package/lib/typescript/handlers/TapGestureHandler.d.ts +9 -0
  208. package/lib/typescript/handlers/handlersRegistry.d.ts +1 -0
  209. package/lib/typescript/index.d.ts +1 -1
  210. package/lib/typescript/utils.d.ts +1 -1
  211. package/lib/typescript/web/detectors/RotationGestureDetector.d.ts +7 -7
  212. package/lib/typescript/web/detectors/ScaleGestureDetector.d.ts +8 -8
  213. package/lib/typescript/web/handlers/GestureHandler.d.ts +33 -28
  214. package/lib/typescript/web/handlers/IGestureHandler.d.ts +12 -13
  215. package/lib/typescript/web/tools/CircularBuffer.d.ts +3 -3
  216. package/lib/typescript/web/tools/GestureHandlerDelegate.d.ts +1 -1
  217. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +2 -2
  218. package/lib/typescript/web/tools/GestureHandlerWebDelegate.d.ts +3 -2
  219. package/lib/typescript/web/tools/InteractionManager.d.ts +2 -2
  220. package/lib/typescript/web/tools/NodeManager.d.ts +1 -1
  221. package/lib/typescript/web/tools/PointerTracker.d.ts +4 -4
  222. package/lib/typescript/web/tools/VelocityTracker.d.ts +1 -1
  223. package/package.json +2 -2
  224. package/src/RNGestureHandlerModule.web.ts +2 -2
  225. package/src/components/DrawerLayout.tsx +29 -0
  226. package/src/components/GestureButtons.tsx +13 -2
  227. package/src/components/GestureButtonsProps.ts +31 -2
  228. package/src/components/Pressable/Pressable.tsx +22 -5
  229. package/src/components/Pressable/PressableProps.tsx +4 -11
  230. package/src/components/Pressable/index.ts +4 -1
  231. package/src/components/ReanimatedSwipeable.tsx +97 -66
  232. package/src/components/Text.tsx +13 -4
  233. package/src/components/touchables/TouchableHighlight.tsx +5 -0
  234. package/src/components/touchables/TouchableNativeFeedback.android.tsx +2 -0
  235. package/src/components/touchables/TouchableNativeFeedback.tsx +6 -1
  236. package/src/components/touchables/TouchableNativeFeedbackProps.tsx +3 -0
  237. package/src/components/touchables/TouchableOpacity.tsx +5 -0
  238. package/src/components/touchables/TouchableWithoutFeedback.tsx +6 -0
  239. package/src/findNodeHandle.web.ts +6 -0
  240. package/src/handlers/FlingGestureHandler.ts +10 -0
  241. package/src/handlers/ForceTouchGestureHandler.ts +9 -0
  242. package/src/handlers/LongPressGestureHandler.ts +10 -0
  243. package/src/handlers/NativeViewGestureHandler.ts +10 -0
  244. package/src/handlers/PanGestureHandler.ts +10 -0
  245. package/src/handlers/PinchGestureHandler.ts +10 -0
  246. package/src/handlers/RotationGestureHandler.ts +10 -0
  247. package/src/handlers/TapGestureHandler.ts +10 -0
  248. package/src/handlers/createHandler.tsx +11 -4
  249. package/src/handlers/gestures/GestureDetector/index.tsx +2 -2
  250. package/src/handlers/gestures/GestureDetector/useViewRefHandler.ts +3 -3
  251. package/src/handlers/gestures/GestureDetector/utils.ts +2 -2
  252. package/src/handlers/handlersRegistry.ts +7 -3
  253. package/src/index.ts +4 -1
  254. package/src/utils.ts +2 -2
  255. package/src/web/detectors/RotationGestureDetector.ts +22 -22
  256. package/src/web/detectors/ScaleGestureDetector.ts +24 -24
  257. package/src/web/handlers/FlingGestureHandler.ts +6 -7
  258. package/src/web/handlers/GestureHandler.ts +115 -105
  259. package/src/web/handlers/HoverGestureHandler.ts +2 -2
  260. package/src/web/handlers/IGestureHandler.ts +12 -13
  261. package/src/web/handlers/LongPressGestureHandler.ts +7 -7
  262. package/src/web/handlers/NativeViewGestureHandler.ts +14 -19
  263. package/src/web/handlers/PanGestureHandler.ts +17 -17
  264. package/src/web/handlers/PinchGestureHandler.ts +17 -21
  265. package/src/web/handlers/RotationGestureHandler.ts +12 -12
  266. package/src/web/handlers/TapGestureHandler.ts +4 -6
  267. package/src/web/tools/CircularBuffer.ts +15 -15
  268. package/src/web/tools/GestureHandlerDelegate.ts +1 -1
  269. package/src/web/tools/GestureHandlerOrchestrator.ts +42 -42
  270. package/src/web/tools/GestureHandlerWebDelegate.ts +32 -13
  271. package/src/web/tools/InteractionManager.ts +16 -16
  272. package/src/web/tools/NodeManager.ts +2 -2
  273. package/src/web/tools/PointerTracker.ts +20 -20
  274. package/src/web/tools/Vector.ts +1 -1
  275. package/src/web/tools/VelocityTracker.ts +1 -1
@@ -22,7 +22,8 @@ export class GestureHandlerWebDelegate
22
22
  implements GestureHandlerDelegate<HTMLElement, IGestureHandler>
23
23
  {
24
24
  private isInitialized = false;
25
- private view!: HTMLElement;
25
+ private _view!: HTMLElement;
26
+
26
27
  private gestureHandler!: IGestureHandler;
27
28
  private eventManagers: EventManager<unknown>[] = [];
28
29
  private defaultViewStyles: DefaultViewStyles = {
@@ -30,14 +31,10 @@ export class GestureHandlerWebDelegate
30
31
  touchAction: '',
31
32
  };
32
33
 
33
- getView(): HTMLElement {
34
- return this.view;
35
- }
36
-
37
34
  init(viewRef: number, handler: IGestureHandler): void {
38
35
  if (!viewRef) {
39
36
  throw new Error(
40
- `Cannot find HTML Element for handler ${handler.getTag()}`
37
+ `Cannot find HTML Element for handler ${handler.handlerTag}`
41
38
  );
42
39
  }
43
40
 
@@ -51,7 +48,7 @@ export class GestureHandlerWebDelegate
51
48
  touchAction: this.view.style.touchAction,
52
49
  };
53
50
 
54
- const config = handler.getConfig();
51
+ const config = handler.config;
55
52
 
56
53
  this.setUserSelect(config.enabled);
57
54
  this.setTouchAction(config.enabled);
@@ -88,12 +85,12 @@ export class GestureHandlerWebDelegate
88
85
  }
89
86
 
90
87
  tryResetCursor() {
91
- const config = this.gestureHandler.getConfig();
88
+ const config = this.gestureHandler.config;
92
89
 
93
90
  if (
94
91
  config.activeCursor &&
95
92
  config.activeCursor !== 'auto' &&
96
- this.gestureHandler.getState() === State.ACTIVE
93
+ this.gestureHandler.state === State.ACTIVE
97
94
  ) {
98
95
  this.view.style.cursor = 'auto';
99
96
  }
@@ -132,7 +129,7 @@ export class GestureHandlerWebDelegate
132
129
  }
133
130
 
134
131
  private setUserSelect(isHandlerEnabled: boolean) {
135
- const { userSelect } = this.gestureHandler.getConfig();
132
+ const { userSelect } = this.gestureHandler.config;
136
133
 
137
134
  this.view.style['userSelect'] = isHandlerEnabled
138
135
  ? (userSelect ?? 'none')
@@ -144,7 +141,7 @@ export class GestureHandlerWebDelegate
144
141
  }
145
142
 
146
143
  private setTouchAction(isHandlerEnabled: boolean) {
147
- const { touchAction } = this.gestureHandler.getConfig();
144
+ const { touchAction } = this.gestureHandler.config;
148
145
 
149
146
  this.view.style['touchAction'] = isHandlerEnabled
150
147
  ? (touchAction ?? 'none')
@@ -157,7 +154,7 @@ export class GestureHandlerWebDelegate
157
154
  }
158
155
 
159
156
  private setContextMenu(isHandlerEnabled: boolean) {
160
- const config = this.gestureHandler.getConfig();
157
+ const config = this.gestureHandler.config;
161
158
 
162
159
  if (isHandlerEnabled) {
163
160
  this.addContextMenuListeners(config);
@@ -174,6 +171,21 @@ export class GestureHandlerWebDelegate
174
171
  this.setUserSelect(enabled);
175
172
  this.setTouchAction(enabled);
176
173
  this.setContextMenu(enabled);
174
+
175
+ if (enabled) {
176
+ this.eventManagers.forEach((manager) => {
177
+ // It may look like managers will be registered twice when handler is mounted for the first time.
178
+ // However, `init` method is called AFTER `updateGestureConfig` - it means that delegate has not
179
+ // been initialized yet, so this code won't be executed.
180
+ //
181
+ // Also, because we use defined functions, not lambdas, they will not be registered multiple times.
182
+ manager.registerListeners();
183
+ });
184
+ } else {
185
+ this.eventManagers.forEach((manager) => {
186
+ manager.unregisterListeners();
187
+ });
188
+ }
177
189
  }
178
190
 
179
191
  onBegin(): void {
@@ -181,7 +193,7 @@ export class GestureHandlerWebDelegate
181
193
  }
182
194
 
183
195
  onActivate(): void {
184
- const config = this.gestureHandler.getConfig();
196
+ const config = this.gestureHandler.config;
185
197
 
186
198
  if (
187
199
  (!this.view.style.cursor || this.view.style.cursor === 'auto') &&
@@ -210,4 +222,11 @@ export class GestureHandlerWebDelegate
210
222
  manager.unregisterListeners();
211
223
  });
212
224
  }
225
+
226
+ public get view() {
227
+ return this._view;
228
+ }
229
+ public set view(value: HTMLElement) {
230
+ this._view = value;
231
+ }
213
232
  }
@@ -3,7 +3,7 @@ import { State } from '../../State';
3
3
  import { Config, Handler } from '../interfaces';
4
4
 
5
5
  export default class InteractionManager {
6
- private static instance: InteractionManager;
6
+ private static _instance: InteractionManager;
7
7
  private readonly waitForRelations: Map<number, number[]> = new Map();
8
8
  private readonly simultaneousRelations: Map<number, number[]> = new Map();
9
9
  private readonly blocksHandlersRelations: Map<number, number[]> = new Map();
@@ -13,7 +13,7 @@ export default class InteractionManager {
13
13
  private constructor() {}
14
14
 
15
15
  public configureInteractions(handler: IGestureHandler, config: Config) {
16
- this.dropRelationsForHandlerWithTag(handler.getTag());
16
+ this.dropRelationsForHandlerWithTag(handler.handlerTag);
17
17
 
18
18
  if (config.waitFor) {
19
19
  const waitFor: number[] = [];
@@ -27,7 +27,7 @@ export default class InteractionManager {
27
27
  }
28
28
  });
29
29
 
30
- this.waitForRelations.set(handler.getTag(), waitFor);
30
+ this.waitForRelations.set(handler.handlerTag, waitFor);
31
31
  }
32
32
 
33
33
  if (config.simultaneousHandlers) {
@@ -40,7 +40,7 @@ export default class InteractionManager {
40
40
  }
41
41
  });
42
42
 
43
- this.simultaneousRelations.set(handler.getTag(), simultaneousHandlers);
43
+ this.simultaneousRelations.set(handler.handlerTag, simultaneousHandlers);
44
44
  }
45
45
 
46
46
  if (config.blocksHandlers) {
@@ -53,7 +53,7 @@ export default class InteractionManager {
53
53
  }
54
54
  });
55
55
 
56
- this.blocksHandlersRelations.set(handler.getTag(), blocksHandlers);
56
+ this.blocksHandlersRelations.set(handler.handlerTag, blocksHandlers);
57
57
  }
58
58
  }
59
59
 
@@ -62,12 +62,12 @@ export default class InteractionManager {
62
62
  otherHandler: IGestureHandler
63
63
  ): boolean {
64
64
  const waitFor: number[] | undefined = this.waitForRelations.get(
65
- handler.getTag()
65
+ handler.handlerTag
66
66
  );
67
67
 
68
68
  return (
69
69
  waitFor?.find((tag: number) => {
70
- return tag === otherHandler.getTag();
70
+ return tag === otherHandler.handlerTag;
71
71
  }) !== undefined
72
72
  );
73
73
  }
@@ -77,11 +77,11 @@ export default class InteractionManager {
77
77
  otherHandler: IGestureHandler
78
78
  ): boolean {
79
79
  const simultaneousHandlers: number[] | undefined =
80
- this.simultaneousRelations.get(handler.getTag());
80
+ this.simultaneousRelations.get(handler.handlerTag);
81
81
 
82
82
  return (
83
83
  simultaneousHandlers?.find((tag: number) => {
84
- return tag === otherHandler.getTag();
84
+ return tag === otherHandler.handlerTag;
85
85
  }) !== undefined
86
86
  );
87
87
  }
@@ -91,12 +91,12 @@ export default class InteractionManager {
91
91
  otherHandler: IGestureHandler
92
92
  ): boolean {
93
93
  const waitFor: number[] | undefined = this.blocksHandlersRelations.get(
94
- handler.getTag()
94
+ handler.handlerTag
95
95
  );
96
96
 
97
97
  return (
98
98
  waitFor?.find((tag: number) => {
99
- return tag === otherHandler.getTag();
99
+ return tag === otherHandler.handlerTag;
100
100
  }) !== undefined
101
101
  );
102
102
  }
@@ -108,7 +108,7 @@ export default class InteractionManager {
108
108
  // We check constructor name instead of using `instanceof` in order do avoid circular dependencies
109
109
  const isNativeHandler =
110
110
  otherHandler.constructor.name === 'NativeViewGestureHandler';
111
- const isActive = otherHandler.getState() === State.ACTIVE;
111
+ const isActive = otherHandler.state === State.ACTIVE;
112
112
  const isButton = otherHandler.isButton?.() === true;
113
113
 
114
114
  return isNativeHandler && isActive && !isButton;
@@ -126,11 +126,11 @@ export default class InteractionManager {
126
126
  this.blocksHandlersRelations.clear();
127
127
  }
128
128
 
129
- public static getInstance(): InteractionManager {
130
- if (!this.instance) {
131
- this.instance = new InteractionManager();
129
+ public static get instance(): InteractionManager {
130
+ if (!this._instance) {
131
+ this._instance = new InteractionManager();
132
132
  }
133
133
 
134
- return this.instance;
134
+ return this._instance;
135
135
  }
136
136
  }
@@ -28,7 +28,7 @@ export default abstract class NodeManager {
28
28
  }
29
29
 
30
30
  this.gestures[handlerTag] = handler;
31
- this.gestures[handlerTag].setTag(handlerTag);
31
+ this.gestures[handlerTag].handlerTag = handlerTag;
32
32
  }
33
33
 
34
34
  public static dropGestureHandler(handlerTag: number): void {
@@ -42,7 +42,7 @@ export default abstract class NodeManager {
42
42
  delete this.gestures[handlerTag];
43
43
  }
44
44
 
45
- public static getNodes() {
45
+ public static get nodes() {
46
46
  return { ...this.gestures };
47
47
  }
48
48
  }
@@ -13,7 +13,7 @@ const MAX_POINTERS = 20;
13
13
 
14
14
  export default class PointerTracker {
15
15
  private velocityTracker = new VelocityTracker();
16
- private trackedPointers: Map<number, TrackerElement> = new Map<
16
+ private readonly _trackedPointers: Map<number, TrackerElement> = new Map<
17
17
  number,
18
18
  TrackerElement
19
19
  >();
@@ -72,7 +72,7 @@ export default class PointerTracker {
72
72
  this.lastMovedPointerId = event.pointerId;
73
73
 
74
74
  this.velocityTracker.add(event);
75
- const [velocityX, velocityY] = this.velocityTracker.getVelocity();
75
+ const [velocityX, velocityY] = this.velocityTracker.velocity;
76
76
 
77
77
  element.velocityX = velocityX;
78
78
  element.velocityY = velocityY;
@@ -189,24 +189,6 @@ export default class PointerTracker {
189
189
  return sum;
190
190
  }
191
191
 
192
- public getTrackedPointersCount(): number {
193
- return this.trackedPointers.size;
194
- }
195
-
196
- public getTrackedPointersID(): number[] {
197
- const keys: number[] = [];
198
-
199
- this.trackedPointers.forEach((_value, key) => {
200
- keys.push(key);
201
- });
202
-
203
- return keys;
204
- }
205
-
206
- public getData(): Map<number, TrackerElement> {
207
- return this.trackedPointers;
208
- }
209
-
210
192
  public resetTracker(): void {
211
193
  this.velocityTracker.reset();
212
194
  this.trackedPointers.clear();
@@ -223,4 +205,22 @@ export default class PointerTracker {
223
205
  ): boolean {
224
206
  return stPointers.some((pointerId) => ndPointers.includes(pointerId));
225
207
  }
208
+
209
+ public get trackedPointersCount(): number {
210
+ return this.trackedPointers.size;
211
+ }
212
+
213
+ public get trackedPointersIDs() {
214
+ const keys: number[] = [];
215
+
216
+ this.trackedPointers.forEach((_value, key) => {
217
+ keys.push(key);
218
+ });
219
+
220
+ return keys;
221
+ }
222
+
223
+ public get trackedPointers() {
224
+ return this._trackedPointers;
225
+ }
226
226
  }
@@ -30,7 +30,7 @@ export default class Vector {
30
30
  return new Vector(velocity.x, velocity.y);
31
31
  }
32
32
 
33
- get magnitude() {
33
+ public get magnitude() {
34
34
  return this._magnitude;
35
35
  }
36
36
 
@@ -84,7 +84,7 @@ export default class VelocityTracker {
84
84
  return null;
85
85
  }
86
86
 
87
- public getVelocity(): [number, number] {
87
+ public get velocity(): [number, number] {
88
88
  const estimate = this.getVelocityEstimate();
89
89
  if (estimate !== null) {
90
90
  return estimate;