react-native-gtkx 0.2.0-alpha.2 → 0.3.0-alpha.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 (340) hide show
  1. package/README.md +5 -2
  2. package/dist/aliases/index.d.ts +84 -0
  3. package/dist/aliases/index.js +208 -0
  4. package/dist/aliases/index.js.map +1 -0
  5. package/dist/animated/index.d.ts +2 -0
  6. package/dist/animated/index.js +5 -0
  7. package/dist/animated/index.js.map +1 -1
  8. package/dist/animated/types.d.ts +1 -0
  9. package/dist/animated/types.js.map +1 -1
  10. package/dist/animated/value-animation.js +17 -4
  11. package/dist/animated/value-animation.js.map +1 -1
  12. package/dist/apis/host.gtkx.js +9 -12
  13. package/dist/apis/host.gtkx.js.map +1 -1
  14. package/dist/apis/index.d.ts +4 -2
  15. package/dist/apis/index.js +2 -0
  16. package/dist/apis/index.js.map +1 -1
  17. package/dist/apis/keyboard.d.ts +60 -0
  18. package/dist/apis/keyboard.js +63 -0
  19. package/dist/apis/keyboard.js.map +1 -0
  20. package/dist/apis/log-box.d.ts +15 -0
  21. package/dist/apis/log-box.js +46 -0
  22. package/dist/apis/log-box.js.map +1 -0
  23. package/dist/apis/platform.d.ts +18 -1
  24. package/dist/apis/platform.js.map +1 -1
  25. package/dist/common/index.d.ts +0 -1
  26. package/dist/common/index.js +24 -1
  27. package/dist/common/index.js.map +1 -1
  28. package/dist/components/animated.d.ts +70 -6
  29. package/dist/components/animated.js +559 -46
  30. package/dist/components/animated.js.map +1 -1
  31. package/dist/components/driven-size.d.ts +27 -0
  32. package/dist/components/driven-size.js +85 -0
  33. package/dist/components/driven-size.js.map +1 -0
  34. package/dist/components/find-node-handle.d.ts +11 -0
  35. package/dist/components/find-node-handle.js +53 -0
  36. package/dist/components/find-node-handle.js.map +1 -0
  37. package/dist/components/flat-list.d.ts +3 -2
  38. package/dist/components/flat-list.js.map +1 -1
  39. package/dist/components/frame-scheduler.d.ts +16 -0
  40. package/dist/components/frame-scheduler.js +37 -0
  41. package/dist/components/frame-scheduler.js.map +1 -0
  42. package/dist/components/image.d.ts +6 -1
  43. package/dist/components/image.js +15 -4
  44. package/dist/components/image.js.map +1 -1
  45. package/dist/components/index.d.ts +7 -5
  46. package/dist/components/index.js +5 -3
  47. package/dist/components/index.js.map +1 -1
  48. package/dist/components/measure.d.ts +51 -1
  49. package/dist/components/measure.js +101 -2
  50. package/dist/components/measure.js.map +1 -1
  51. package/dist/components/pressable.d.ts +61 -1
  52. package/dist/components/pressable.js +151 -4
  53. package/dist/components/pressable.js.map +1 -1
  54. package/dist/components/rect-store.d.ts +58 -0
  55. package/dist/components/rect-store.js +124 -3
  56. package/dist/components/rect-store.js.map +1 -1
  57. package/dist/components/root.js +6 -1
  58. package/dist/components/root.js.map +1 -1
  59. package/dist/components/scroll-phase.d.ts +35 -0
  60. package/dist/components/scroll-phase.js +26 -0
  61. package/dist/components/scroll-phase.js.map +1 -0
  62. package/dist/components/scroll-view.d.ts +39 -3
  63. package/dist/components/scroll-view.js +378 -43
  64. package/dist/components/scroll-view.js.map +1 -1
  65. package/dist/components/text-input.js +9 -25
  66. package/dist/components/text-input.js.map +1 -1
  67. package/dist/components/text.d.ts +6 -2
  68. package/dist/components/text.js +43 -8
  69. package/dist/components/text.js.map +1 -1
  70. package/dist/components/use-focus.d.ts +27 -0
  71. package/dist/components/use-focus.js +116 -0
  72. package/dist/components/use-focus.js.map +1 -0
  73. package/dist/components/use-layout-child.d.ts +13 -1
  74. package/dist/components/use-layout-child.js +188 -5
  75. package/dist/components/use-layout-child.js.map +1 -1
  76. package/dist/components/view.d.ts +5 -2
  77. package/dist/components/view.js +18 -13
  78. package/dist/components/view.js.map +1 -1
  79. package/dist/components/virtualized-list.d.ts +45 -5
  80. package/dist/components/virtualized-list.js +90 -24
  81. package/dist/components/virtualized-list.js.map +1 -1
  82. package/dist/components/wheel-scroll-session.d.ts +7 -0
  83. package/dist/components/wheel-scroll-session.js +53 -0
  84. package/dist/components/wheel-scroll-session.js.map +1 -0
  85. package/dist/components/widget-retention.d.ts +35 -0
  86. package/dist/components/widget-retention.js +169 -0
  87. package/dist/components/widget-retention.js.map +1 -0
  88. package/dist/contracts.d.ts +4 -0
  89. package/dist/contracts.js.map +1 -1
  90. package/dist/dnd/context.d.ts +69 -0
  91. package/dist/dnd/context.js +149 -0
  92. package/dist/dnd/context.js.map +1 -0
  93. package/dist/dnd/draggable.d.ts +59 -0
  94. package/dist/dnd/draggable.js +149 -0
  95. package/dist/dnd/draggable.js.map +1 -0
  96. package/dist/dnd/droppable.d.ts +24 -0
  97. package/dist/dnd/droppable.js +74 -0
  98. package/dist/dnd/droppable.js.map +1 -0
  99. package/dist/dnd/gtk-controllers.d.ts +39 -0
  100. package/dist/dnd/gtk-controllers.js +110 -0
  101. package/dist/dnd/gtk-controllers.js.map +1 -0
  102. package/dist/dnd/index.d.ts +6 -0
  103. package/dist/dnd/index.js +31 -0
  104. package/dist/dnd/index.js.map +1 -0
  105. package/dist/dnd/order.d.ts +7 -0
  106. package/dist/dnd/order.js +20 -0
  107. package/dist/dnd/order.js.map +1 -0
  108. package/dist/dnd/payload.d.ts +14 -0
  109. package/dist/dnd/payload.js +41 -0
  110. package/dist/dnd/payload.js.map +1 -0
  111. package/dist/dnd/sortable.d.ts +49 -0
  112. package/dist/dnd/sortable.js +307 -0
  113. package/dist/dnd/sortable.js.map +1 -0
  114. package/dist/dnd/types.d.ts +290 -0
  115. package/dist/dnd/types.js +25 -0
  116. package/dist/dnd/types.js.map +1 -0
  117. package/dist/gesture-handler-compat/builder.d.ts +251 -0
  118. package/dist/gesture-handler-compat/builder.js +513 -0
  119. package/dist/gesture-handler-compat/builder.js.map +1 -0
  120. package/dist/gesture-handler-compat/composition.d.ts +23 -0
  121. package/dist/gesture-handler-compat/composition.js +111 -0
  122. package/dist/gesture-handler-compat/composition.js.map +1 -0
  123. package/dist/gesture-handler-compat/deciders.d.ts +3 -0
  124. package/dist/gesture-handler-compat/deciders.js +47 -0
  125. package/dist/gesture-handler-compat/deciders.js.map +1 -0
  126. package/dist/gesture-handler-compat/detector-runtime.d.ts +44 -0
  127. package/dist/gesture-handler-compat/detector-runtime.js +374 -0
  128. package/dist/gesture-handler-compat/detector-runtime.js.map +1 -0
  129. package/dist/gesture-handler-compat/detector.d.ts +22 -0
  130. package/dist/gesture-handler-compat/detector.js +104 -0
  131. package/dist/gesture-handler-compat/detector.js.map +1 -0
  132. package/dist/gesture-handler-compat/fling.d.ts +24 -0
  133. package/dist/gesture-handler-compat/fling.js +123 -0
  134. package/dist/gesture-handler-compat/fling.js.map +1 -0
  135. package/dist/gesture-handler-compat/force-touch.d.ts +13 -0
  136. package/dist/gesture-handler-compat/force-touch.js +40 -0
  137. package/dist/gesture-handler-compat/force-touch.js.map +1 -0
  138. package/dist/gesture-handler-compat/hooks.d.ts +157 -0
  139. package/dist/gesture-handler-compat/hooks.js +268 -0
  140. package/dist/gesture-handler-compat/hooks.js.map +1 -0
  141. package/dist/gesture-handler-compat/hover.d.ts +2 -0
  142. package/dist/gesture-handler-compat/hover.js +22 -0
  143. package/dist/gesture-handler-compat/hover.js.map +1 -0
  144. package/dist/gesture-handler-compat/index.d.ts +98 -0
  145. package/dist/gesture-handler-compat/index.js +255 -0
  146. package/dist/gesture-handler-compat/index.js.map +1 -0
  147. package/dist/gesture-handler-compat/long-press.d.ts +6 -0
  148. package/dist/gesture-handler-compat/long-press.js +21 -0
  149. package/dist/gesture-handler-compat/long-press.js.map +1 -0
  150. package/dist/gesture-handler-compat/manual.d.ts +2 -0
  151. package/dist/gesture-handler-compat/manual.js +18 -0
  152. package/dist/gesture-handler-compat/manual.js.map +1 -0
  153. package/dist/gesture-handler-compat/native.d.ts +7 -0
  154. package/dist/gesture-handler-compat/native.js +34 -0
  155. package/dist/gesture-handler-compat/native.js.map +1 -0
  156. package/dist/gesture-handler-compat/orchestrator.d.ts +77 -0
  157. package/dist/gesture-handler-compat/orchestrator.js +284 -0
  158. package/dist/gesture-handler-compat/orchestrator.js.map +1 -0
  159. package/dist/gesture-handler-compat/pan.d.ts +23 -0
  160. package/dist/gesture-handler-compat/pan.js +116 -0
  161. package/dist/gesture-handler-compat/pan.js.map +1 -0
  162. package/dist/gesture-handler-compat/recognizer.d.ts +268 -0
  163. package/dist/gesture-handler-compat/recognizer.js +1056 -0
  164. package/dist/gesture-handler-compat/recognizer.js.map +1 -0
  165. package/dist/gesture-handler-compat/relations.d.ts +43 -0
  166. package/dist/gesture-handler-compat/relations.js +128 -0
  167. package/dist/gesture-handler-compat/relations.js.map +1 -0
  168. package/dist/gesture-handler-compat/tap.d.ts +6 -0
  169. package/dist/gesture-handler-compat/tap.js +29 -0
  170. package/dist/gesture-handler-compat/tap.js.map +1 -0
  171. package/dist/gesture-handler-compat/touchpad.d.ts +41 -0
  172. package/dist/gesture-handler-compat/touchpad.js +64 -0
  173. package/dist/gesture-handler-compat/touchpad.js.map +1 -0
  174. package/dist/gesture-handler-compat/types.d.ts +441 -0
  175. package/dist/gesture-handler-compat/types.js +167 -0
  176. package/dist/gesture-handler-compat/types.js.map +1 -0
  177. package/dist/gtk/controllers.d.ts +39 -0
  178. package/dist/gtk/controllers.js +92 -0
  179. package/dist/gtk/controllers.js.map +1 -0
  180. package/dist/gtk/index.d.ts +2 -1
  181. package/dist/gtk/index.js +7 -1
  182. package/dist/gtk/index.js.map +1 -1
  183. package/dist/gtkx/bridge/geometry.js +6 -4
  184. package/dist/gtkx/bridge/geometry.js.map +1 -1
  185. package/dist/gtkx/bridge/index.d.ts +5 -3
  186. package/dist/gtkx/bridge/index.js +6 -3
  187. package/dist/gtkx/bridge/index.js.map +1 -1
  188. package/dist/gtkx/bridge/slot-portal.js.map +1 -1
  189. package/dist/gtkx/bridge/use-signal.js +1 -1
  190. package/dist/gtkx/bridge/use-signal.js.map +1 -1
  191. package/dist/gtkx/bridge/view-box.d.ts +56 -0
  192. package/dist/gtkx/bridge/view-box.js +394 -9
  193. package/dist/gtkx/bridge/view-box.js.map +1 -1
  194. package/dist/gtkx/bridge/widget-css.d.ts +17 -0
  195. package/dist/gtkx/bridge/widget-css.js +72 -0
  196. package/dist/gtkx/bridge/widget-css.js.map +1 -0
  197. package/dist/index.d.ts +3 -3
  198. package/dist/index.js +2 -2
  199. package/dist/index.js.map +1 -1
  200. package/dist/layout/driven-size.d.ts +12 -0
  201. package/dist/layout/driven-size.js +70 -0
  202. package/dist/layout/driven-size.js.map +1 -0
  203. package/dist/layout/engine.d.ts +17 -1
  204. package/dist/layout/engine.js +3 -20
  205. package/dist/layout/engine.js.map +1 -1
  206. package/dist/layout/node.d.ts +13 -0
  207. package/dist/layout/node.js +14 -0
  208. package/dist/layout/node.js.map +1 -1
  209. package/dist/layout/yoga.d.ts +3 -2
  210. package/dist/layout/yoga.js +5 -2
  211. package/dist/layout/yoga.js.map +1 -1
  212. package/dist/mcp/data/generated.d.ts +257 -60
  213. package/dist/mcp/data/generated.js +306 -62
  214. package/dist/mcp/data/generated.js.map +1 -1
  215. package/dist/metro/index.d.ts +10 -0
  216. package/dist/metro/index.js +21 -12
  217. package/dist/metro/index.js.map +1 -1
  218. package/dist/navigation/sidebar.d.ts +16 -0
  219. package/dist/navigation/sidebar.js +65 -1
  220. package/dist/navigation/sidebar.js.map +1 -1
  221. package/dist/reanimated-compat/animated-ref.d.ts +32 -0
  222. package/dist/reanimated-compat/animated-ref.js +57 -0
  223. package/dist/reanimated-compat/animated-ref.js.map +1 -0
  224. package/dist/reanimated-compat/animation.d.ts +177 -0
  225. package/dist/reanimated-compat/animation.js +540 -0
  226. package/dist/reanimated-compat/animation.js.map +1 -0
  227. package/dist/reanimated-compat/color.d.ts +28 -0
  228. package/dist/reanimated-compat/color.js +249 -0
  229. package/dist/reanimated-compat/color.js.map +1 -0
  230. package/dist/reanimated-compat/decay.d.ts +39 -0
  231. package/dist/reanimated-compat/decay.js +96 -0
  232. package/dist/reanimated-compat/decay.js.map +1 -0
  233. package/dist/reanimated-compat/easing.d.ts +30 -0
  234. package/dist/reanimated-compat/easing.js +76 -0
  235. package/dist/reanimated-compat/easing.js.map +1 -0
  236. package/dist/reanimated-compat/hooks.d.ts +14 -0
  237. package/dist/reanimated-compat/hooks.js +217 -0
  238. package/dist/reanimated-compat/hooks.js.map +1 -0
  239. package/dist/reanimated-compat/index.d.ts +258 -0
  240. package/dist/reanimated-compat/index.js +464 -0
  241. package/dist/reanimated-compat/index.js.map +1 -0
  242. package/dist/reanimated-compat/interpolation.d.ts +18 -0
  243. package/dist/reanimated-compat/interpolation.js +122 -0
  244. package/dist/reanimated-compat/interpolation.js.map +1 -0
  245. package/dist/reanimated-compat/layout-animation-config.d.ts +43 -0
  246. package/dist/reanimated-compat/layout-animation-config.js +78 -0
  247. package/dist/reanimated-compat/layout-animation-config.js.map +1 -0
  248. package/dist/reanimated-compat/layout-animation-presets.d.ts +117 -0
  249. package/dist/reanimated-compat/layout-animation-presets.js +498 -0
  250. package/dist/reanimated-compat/layout-animation-presets.js.map +1 -0
  251. package/dist/reanimated-compat/layout-animation-runtime.d.ts +21 -0
  252. package/dist/reanimated-compat/layout-animation-runtime.js +311 -0
  253. package/dist/reanimated-compat/layout-animation-runtime.js.map +1 -0
  254. package/dist/reanimated-compat/layout-animation-view.d.ts +27 -0
  255. package/dist/reanimated-compat/layout-animation-view.js +266 -0
  256. package/dist/reanimated-compat/layout-animation-view.js.map +1 -0
  257. package/dist/reanimated-compat/layout-animation.d.ts +171 -0
  258. package/dist/reanimated-compat/layout-animation.js +469 -0
  259. package/dist/reanimated-compat/layout-animation.js.map +1 -0
  260. package/dist/reanimated-compat/layout-transitions.d.ts +83 -0
  261. package/dist/reanimated-compat/layout-transitions.js +350 -0
  262. package/dist/reanimated-compat/layout-transitions.js.map +1 -0
  263. package/dist/reanimated-compat/mutable.d.ts +29 -0
  264. package/dist/reanimated-compat/mutable.js +139 -0
  265. package/dist/reanimated-compat/mutable.js.map +1 -0
  266. package/dist/reanimated-compat/props.d.ts +18 -0
  267. package/dist/reanimated-compat/props.js +111 -0
  268. package/dist/reanimated-compat/props.js.map +1 -0
  269. package/dist/reanimated-compat/scroll-handler.d.ts +119 -0
  270. package/dist/reanimated-compat/scroll-handler.js +274 -0
  271. package/dist/reanimated-compat/scroll-handler.js.map +1 -0
  272. package/dist/reanimated-compat/scroll-offset.d.ts +12 -0
  273. package/dist/reanimated-compat/scroll-offset.js +104 -0
  274. package/dist/reanimated-compat/scroll-offset.js.map +1 -0
  275. package/dist/reanimated-compat/style.d.ts +90 -0
  276. package/dist/reanimated-compat/style.js +452 -0
  277. package/dist/reanimated-compat/style.js.map +1 -0
  278. package/dist/reanimated-compat/test-timers.d.ts +28 -0
  279. package/dist/reanimated-compat/test-timers.js +136 -0
  280. package/dist/reanimated-compat/test-timers.js.map +1 -0
  281. package/dist/reanimated-compat/threads.d.ts +13 -0
  282. package/dist/reanimated-compat/threads.js +41 -0
  283. package/dist/reanimated-compat/threads.js.map +1 -0
  284. package/dist/reanimated-compat/tracking.d.ts +41 -0
  285. package/dist/reanimated-compat/tracking.js +106 -0
  286. package/dist/reanimated-compat/tracking.js.map +1 -0
  287. package/dist/reanimated-compat/updater-animations.d.ts +36 -0
  288. package/dist/reanimated-compat/updater-animations.js +273 -0
  289. package/dist/reanimated-compat/updater-animations.js.map +1 -0
  290. package/dist/responder/system.d.ts +80 -7
  291. package/dist/responder/system.js +143 -23
  292. package/dist/responder/system.js.map +1 -1
  293. package/dist/responder/use-responder.d.ts +11 -0
  294. package/dist/responder/use-responder.js +225 -6
  295. package/dist/responder/use-responder.js.map +1 -1
  296. package/dist/runner/host-dev.js +1 -1
  297. package/dist/runner/host-dev.js.map +1 -1
  298. package/dist/runner/host.js +1 -1
  299. package/dist/runner/host.js.map +1 -1
  300. package/dist/runner/index.js +3 -3
  301. package/dist/runner/index.js.map +1 -1
  302. package/dist/sea/gtkx-config-module.js +1 -1
  303. package/dist/sea/gtkx-config-module.js.map +1 -1
  304. package/dist/style/absolute-insets.d.ts +26 -0
  305. package/dist/style/absolute-insets.js +113 -0
  306. package/dist/style/absolute-insets.js.map +1 -0
  307. package/dist/style/animated-size.d.ts +25 -0
  308. package/dist/style/animated-size.js +225 -0
  309. package/dist/style/animated-size.js.map +1 -0
  310. package/dist/style/colors.d.ts +17 -0
  311. package/dist/style/colors.js +25 -6
  312. package/dist/style/colors.js.map +1 -1
  313. package/dist/style/imperative-css.d.ts +21 -0
  314. package/dist/style/imperative-css.js +63 -0
  315. package/dist/style/imperative-css.js.map +1 -0
  316. package/dist/style/index.d.ts +2 -1
  317. package/dist/style/index.js +2 -1
  318. package/dist/style/index.js.map +1 -1
  319. package/dist/style/split-style.js +5 -0
  320. package/dist/style/split-style.js.map +1 -1
  321. package/dist/testing/index.js.map +1 -1
  322. package/dist/unsupported-export.d.ts +8 -0
  323. package/dist/unsupported-export.js +66 -0
  324. package/dist/unsupported-export.js.map +1 -0
  325. package/dist/vite/index.d.ts +21 -8
  326. package/dist/vite/index.js +127 -82
  327. package/dist/vite/index.js.map +1 -1
  328. package/dist/vitest/index.d.ts +2 -2
  329. package/dist/vitest/index.js.map +1 -1
  330. package/dist/worklets-compat/index.d.ts +4 -0
  331. package/dist/worklets-compat/index.js +28 -0
  332. package/dist/worklets-compat/index.js.map +1 -0
  333. package/dist/worklets-compat/surface.d.ts +110 -0
  334. package/dist/worklets-compat/surface.js +153 -0
  335. package/dist/worklets-compat/surface.js.map +1 -0
  336. package/package.json +25 -9
  337. package/types.d.ts +9 -0
  338. package/dist/common/list.d.ts +0 -82
  339. package/dist/common/list.js +0 -166
  340. package/dist/common/list.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ // --- draggable --------------------------------------------------------------
2
+ export var DraggableState;
3
+ (function (DraggableState) {
4
+ DraggableState["IDLE"] = "IDLE";
5
+ DraggableState["DRAGGING"] = "DRAGGING";
6
+ DraggableState["DROPPED"] = "DROPPED";
7
+ })(DraggableState || (DraggableState = {}));
8
+ export var ScrollDirection;
9
+ (function (ScrollDirection) {
10
+ ScrollDirection["None"] = "none";
11
+ ScrollDirection["Up"] = "up";
12
+ ScrollDirection["Down"] = "down";
13
+ })(ScrollDirection || (ScrollDirection = {}));
14
+ export var HorizontalScrollDirection;
15
+ (function (HorizontalScrollDirection) {
16
+ HorizontalScrollDirection["None"] = "none";
17
+ HorizontalScrollDirection["Left"] = "left";
18
+ HorizontalScrollDirection["Right"] = "right";
19
+ })(HorizontalScrollDirection || (HorizontalScrollDirection = {}));
20
+ export var SortableDirection;
21
+ (function (SortableDirection) {
22
+ SortableDirection["Vertical"] = "vertical";
23
+ SortableDirection["Horizontal"] = "horizontal";
24
+ })(SortableDirection || (SortableDirection = {}));
25
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dnd/types.ts"],"names":[],"mappings":"AAwBA,+EAA+E;AAE/E,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAqKD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,4BAAS,CAAA;IACT,gCAAa,CAAA;AACf,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,0CAAa,CAAA;IACb,4CAAe,CAAA;AACjB,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,8CAAyB,CAAA;AAC3B,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B","sourcesContent":["// The mirrored type surface of `react-native-reanimated-dnd`, name for name.\n//\n// WHY the names are copied rather than improved: the point of this subpath\n// is that an app which already uses that library keeps its source. A better\n// name here would be a worse module — see docs/research/drag-and-drop.md.\nimport type { ReactNode, RefObject } from \"react\"\nimport type { StyleProp } from \"../contracts\"\n\n/**\n * What `SharedValue<T>` degrades to here.\n *\n * Reanimated's `SharedValue<T>` is `{ value: T }` plus the worklet plumbing\n * that makes writes cross to the UI thread. There is no UI thread on this\n * platform, so this is the same box without the crossing: **reads and\n * writes both work**, they just do not drive an animation.\n *\n * That matters more than it looks. `positions`, `lowerBound`,\n * `autoScrollDirection` and `itemHeights` appear in\n * `SortableRenderItemProps` — public API an app forwards with `{...rest}`\n * and, occasionally, reads. Typing them as an opaque token would break the\n * reads; typing them as this keeps them working.\n */\nexport type SharedValueLike<T> = { value: T }\n\n// --- draggable --------------------------------------------------------------\n\nexport enum DraggableState {\n IDLE = \"IDLE\",\n DRAGGING = \"DRAGGING\",\n DROPPED = \"DROPPED\",\n}\n\nexport type AnimationFunction = (toValue: number) => number\n\nexport type CollisionAlgorithm = \"center\" | \"intersect\" | \"contain\"\n\nexport interface UseDraggableOptions<TData = unknown> {\n data: TData\n draggableId?: string\n dragDisabled?: boolean\n onDragStart?: (data: TData) => void\n onDragEnd?: (data: TData) => void\n onDragging?: (payload: {\n x: number\n y: number\n tx: number\n ty: number\n itemData: TData\n }) => void\n onStateChange?: (state: DraggableState) => void\n /**\n * Accepted and ignored. Upstream uses it to tell a tap from a drag; GDK\n * already does that with `gtk-dnd-drag-threshold` before it starts a drag\n * at all, so honouring it would only make dragging feel slower.\n */\n preDragDelay?: number\n /**\n * Accepted and ignored. GDK hit-tests the pointer against the real widget\n * tree; of the three upstream algorithms `\"center\"` is closest, since the\n * drag icon is carried at the point it was grabbed.\n */\n collisionAlgorithm?: CollisionAlgorithm\n /** Unsupported: the compositor carries the drag icon and nothing here can\n * constrain its path. Kept in the type so a shared file still compiles\n * for iOS and Android. */\n dragAxis?: \"x\" | \"y\" | \"both\"\n /** Unsupported, same reason as `dragAxis`. */\n dragBoundsRef?: RefObject<unknown>\n /** Unsupported: there is no return animation, because the view never\n * left — GDK drew a picture of it instead. */\n animationFunction?: AnimationFunction\n}\n\nexport interface UseDraggableReturn {\n /** Spread onto the view that should be draggable. Upstream's name for it\n * is `animatedViewProps`; the props are a `style` and the drag\n * controllers, which on this platform are React children rather than a\n * style. */\n animatedViewProps: {\n style?: StyleProp\n children: ReactNode\n }\n state: DraggableState\n hasHandle: boolean\n registerHandle: (registered: boolean) => void\n}\n\nexport interface DraggableProps<\n TData = unknown,\n> extends UseDraggableOptions<TData> {\n style?: StyleProp\n children: ReactNode\n testID?: string\n}\n\nexport interface DraggableHandleProps {\n children: ReactNode\n style?: StyleProp\n testID?: string\n}\n\n// --- droppable --------------------------------------------------------------\n\nexport type DropAlignment =\n | \"center\"\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"center-left\"\n | \"center-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n\nexport interface DropOffset {\n x: number\n y: number\n}\n\nexport interface UseDroppableOptions<TData = unknown> {\n onDrop: (data: TData) => void\n dropDisabled?: boolean\n onActiveChange?: (isActive: boolean) => void\n activeStyle?: StyleProp\n droppableId?: string\n /** How many draggables this zone accepts. When it is full GDK is told to\n * REFUSE the drop, so the pointer shows the no-drop cursor — upstream\n * silently skips the slot instead. */\n capacity?: number\n /** Unsupported: both of these place the dragged view inside the zone\n * after the drop, and the view never moved. */\n dropAlignment?: DropAlignment\n dropOffset?: DropOffset\n}\n\nexport interface UseDroppableReturn {\n viewProps: {\n style?: StyleProp\n children: ReactNode\n }\n isActive: boolean\n activeStyle?: StyleProp\n}\n\nexport interface DroppableProps<\n TData = unknown,\n> extends UseDroppableOptions<TData> {\n style?: StyleProp\n children: ReactNode\n testID?: string\n}\n\n// --- context ----------------------------------------------------------------\n\nexport interface DroppedItemsMap<TData = unknown> {\n [draggableId: string]: { droppableId: string; data: TData }\n}\n\nexport interface DropProviderProps {\n children: ReactNode\n onDroppedItemsUpdate?: (droppedItems: DroppedItemsMap) => void\n onDragStart?: (data: unknown) => void\n onDragEnd?: (data: unknown) => void\n onDragging?: (payload: {\n x: number\n y: number\n tx: number\n ty: number\n itemData: unknown\n }) => void\n /** Accepted and ignored: there is no layout pass to complete, because\n * nothing caches a slot rectangle. See `requestPositionUpdate`. */\n onLayoutUpdateComplete?: () => void\n style?: StyleProp\n testID?: string\n ref?: RefObject<DropProviderRef | null>\n}\n\nexport interface DropProviderRef {\n /**\n * A no-op **because GDK re-hit-tests on every motion**. Upstream needs it\n * to refresh cached slot rectangles after a scroll or a relayout; there\n * are no cached rectangles here, so calling it is harmless and\n * unnecessary. Kept so an app that calls it after a list update compiles.\n */\n requestPositionUpdate: () => void\n getDroppedItems: () => DroppedItemsMap\n}\n\n// --- sortable ---------------------------------------------------------------\n\nexport interface SortableData {\n id: string\n}\n\nexport enum ScrollDirection {\n None = \"none\",\n Up = \"up\",\n Down = \"down\",\n}\n\nexport enum HorizontalScrollDirection {\n None = \"none\",\n Left = \"left\",\n Right = \"right\",\n}\n\nexport enum SortableDirection {\n Vertical = \"vertical\",\n Horizontal = \"horizontal\",\n}\n\n/** The plumbing `Sortable` hands `renderItem` and `renderItem` hands\n * `SortableItem` — opaque in upstream's own examples, which destructure\n * `item`/`index`/`id` and spread the rest. */\nexport interface SortableItemPlumbing {\n positions: SharedValueLike<Record<string, number>>\n lowerBound: SharedValueLike<number>\n autoScrollDirection: SharedValueLike<ScrollDirection>\n itemHeights: SharedValueLike<Record<string, number>>\n itemsCount: number\n /** Accepted and ignored: Yoga lays rows out at their natural height, so\n * a height hint has nothing to correct. */\n itemHeight?: number\n /** Accepted and ignored, same reason. */\n estimatedItemHeight?: number\n /**\n * Accepted and ignored. Upstream needs the container's height to know\n * when a dragged row has reached an edge and autoscroll should start;\n * there is no autoscroll here (docs/research/drag-and-drop.md), and the\n * rows are in flow layout inside a real `ScrollView` that already knows\n * its own size.\n *\n * Kept because upstream's own example app passes it on every\n * `SortableItem` — a mirror that drops it turns a literal port into an\n * edit, which is the one thing this module exists to avoid.\n */\n containerHeight?: number\n /** Accepted and ignored, same reason. */\n isDynamicHeight?: boolean\n scheduleHeightUpdate?: (id: string, height: number) => void\n}\n\nexport interface SortableCallbacks {\n onMove?: (id: string, from: number, to: number) => void\n onDragStart?: (id: string, position: number) => void\n onDrop?: (\n id: string,\n position: number,\n allPositions?: Record<string, number>,\n ) => void\n onDragging?: (\n id: string,\n overItemId: string | null,\n yPosition: number,\n ) => void\n}\n\nexport interface UseSortableOptions<TData = unknown>\n extends SortableCallbacks, SortableItemPlumbing {\n id: string\n data?: TData\n}\n\nexport interface UseSortableReturn {\n /** Upstream returns a Reanimated style here. This platform reorders by\n * re-rendering, so the row needs no transform — the field stays for\n * spread compatibility. */\n animatedStyle: StyleProp\n isMoving: boolean\n hasHandle: boolean\n registerHandle: (registered: boolean) => void\n /** Everything the row's view must contain: the drop target always, and the\n * drag source unless a handle has claimed it. */\n children: ReactNode\n /** The drag source on its own, for a caller placing its own handle. */\n dragControllers: ReactNode\n}\n\nexport interface SortableItemProps<TData = unknown>\n extends Partial<SortableItemPlumbing>, SortableCallbacks {\n id: string\n data?: TData\n children: ReactNode\n style?: StyleProp\n /** Accepted for spread compatibility; upstream's own transform style. */\n animatedStyle?: StyleProp\n direction?: SortableDirection\n testID?: string\n}\n\nexport interface SortableRenderItemProps<\n TData extends SortableData,\n> extends SortableItemPlumbing {\n item: TData\n index: number\n id: string\n direction?: SortableDirection\n}\n\nexport interface SortableProps<\n TData extends SortableData,\n> extends SortableCallbacks {\n data: TData[]\n renderItem: (props: SortableRenderItemProps<TData>) => ReactNode\n itemKeyExtractor?: (item: TData, index: number) => string\n style?: StyleProp\n contentContainerStyle?: StyleProp\n testID?: string\n /** Accepted and ignored — see `SortableItemPlumbing`. */\n itemHeight?: number | number[] | ((item: TData, index: number) => number)\n /** Accepted and ignored. */\n estimatedItemHeight?: number\n /** Accepted and ignored. */\n enableDynamicHeights?: boolean\n /** Accepted and ignored. */\n useFlatList?: boolean\n /** Accepted and ignored. */\n onHeightsMeasured?: (heights: Record<string, number>) => void\n /** `SortableDirection.Horizontal` is not implemented — see\n * docs/research/drag-and-drop.md. Passing it throws, rather than\n * silently laying out vertically. */\n direction?: SortableDirection\n}\n\nexport interface SortableHandleProps {\n children: ReactNode\n style?: StyleProp\n testID?: string\n}\n\nexport interface UseSortableListOptions<TData extends SortableData> {\n data: TData[]\n itemKeyExtractor?: (item: TData, index: number) => string\n itemHeight?: number | number[] | ((item: TData, index: number) => number)\n enableDynamicHeights?: boolean\n estimatedItemHeight?: number\n onHeightsMeasured?: (heights: Record<string, number>) => void\n}\n\nexport interface UseSortableListReturn<TData extends SortableData> {\n positions: SharedValueLike<Record<string, number>>\n scrollY: SharedValueLike<number>\n autoScroll: SharedValueLike<ScrollDirection>\n itemHeights: SharedValueLike<Record<string, number>>\n dropProviderRef: RefObject<DropProviderRef | null>\n handleScroll: () => void\n handleScrollEnd: () => void\n contentHeight: number\n isDynamicHeight: boolean\n /** The current order, which this hook owns — upstream keeps the same\n * contract (\"do NOT update external state in `onMove`\"). */\n items: TData[]\n getItemProps: (item: TData, index: number) => SortableItemPlumbing\n}\n"]}
@@ -0,0 +1,251 @@
1
+ import type { AnyGestureSpec, ComposedGestureSpec, GestureEventPayload, GestureHitSlop, GestureKind, GestureRef, GestureSpec, GestureStateManagerApi, GestureTouchEvent, OffsetBound, RecognizerConfig } from "./types";
2
+ type TouchHandler = (event: GestureTouchEvent, manager: GestureStateManagerApi) => void;
3
+ /**
4
+ * Everything upstream's `BaseGesture` has, which is everything the three
5
+ * implemented kinds share. Not a port of it: it holds no handler tag and no
6
+ * worklet machinery, because on this platform there is one runtime and a
7
+ * handler tag identifies a MOUNTED gesture rather than a built one. The
8
+ * relations it does hold are lists of references and nothing else — the maps
9
+ * that read them live in ./relations, and the loop that acts on them in
10
+ * ./orchestrator.
11
+ *
12
+ * `onUpdate` and `onChange` are deliberately NOT here. Upstream puts them on
13
+ * `ContinousBaseGesture`, which `Tap` and `LongPress` do not extend — they are
14
+ * discrete, they have no travel to report, and offering the methods would
15
+ * invite a callback that never fires.
16
+ */
17
+ declare abstract class BaseGestureBuilder implements GestureSpec {
18
+ abstract readonly kind: GestureKind;
19
+ readonly config: RecognizerConfig;
20
+ enabled(value: boolean): this;
21
+ shouldCancelWhenOutside(value: boolean): this;
22
+ hitSlop(value: GestureHitSlop): this;
23
+ manualActivation(value: boolean): this;
24
+ onBegin(callback: (event: GestureEventPayload) => void): this;
25
+ onStart(callback: (event: GestureEventPayload) => void): this;
26
+ onEnd(callback: (event: GestureEventPayload, success: boolean) => void): this;
27
+ onFinalize(callback: (event: GestureEventPayload, success: boolean) => void): this;
28
+ onTouchesDown(callback: TouchHandler): this;
29
+ onTouchesMove(callback: TouchHandler): this;
30
+ onTouchesUp(callback: TouchHandler): this;
31
+ onTouchesCancelled(callback: TouchHandler): this;
32
+ /**
33
+ * Recorded and not acted on, exactly as upstream does not act on it off its
34
+ * worklet platforms: gesture callbacks are worklets by default there and
35
+ * this asks for the JS runtime instead. There is one runtime here, so every
36
+ * callback already runs where this is asking it to. `@gorhom/bottom-sheet`
37
+ * sets it twice; making it throw would refuse code that is already correct.
38
+ *
39
+ * Recorded rather than discarded so the config still describes what the app
40
+ * asked for — the orchestrator and any devtools read this object.
41
+ */
42
+ runOnJS(value: boolean): this;
43
+ /**
44
+ * Platform-specific upstream and inert here, which is upstream's own
45
+ * treatment of them off their platforms: `averageTouches` is Android-only,
46
+ * `enableTrackpadTwoFingerGesture` and `cancelsTouchesInView` are iOS-only,
47
+ * `activeCursor` and `mouseButton` are Web-only. Accepting them keeps
48
+ * portable source portable; docs/api.md records that they do nothing.
49
+ */
50
+ averageTouches(value: boolean): this;
51
+ enableTrackpadTwoFingerGesture(value: boolean): this;
52
+ cancelsTouchesInView(value: boolean): this;
53
+ activeCursor(value: string): this;
54
+ mouseButton(value: number): this;
55
+ /** Upstream stores a ref for the relation APIs; harmless to honour early. */
56
+ withRef(ref: {
57
+ current: unknown;
58
+ }): this;
59
+ withTestId(id: string): this;
60
+ /** Upstream's flattening hook for composed gestures; a lone gesture is a list of one. */
61
+ toGestureArray(): BaseGestureBuilder[];
62
+ simultaneousWithExternalGesture(...gestures: GestureRef[]): this;
63
+ requireExternalGestureToFail(...gestures: GestureRef[]): this;
64
+ blocksExternalGesture(...gestures: GestureRef[]): this;
65
+ }
66
+ /** `Gesture.Pan()`, and the only one of the three that reports travel. */
67
+ export declare class PanGestureBuilder extends BaseGestureBuilder {
68
+ readonly kind: "pan";
69
+ activeOffsetX(offset: OffsetBound): this;
70
+ activeOffsetY(offset: OffsetBound): this;
71
+ failOffsetX(offset: OffsetBound): this;
72
+ failOffsetY(offset: OffsetBound): this;
73
+ minDistance(distance: number): this;
74
+ minVelocity(velocity: number): this;
75
+ minVelocityX(velocity: number): this;
76
+ minVelocityY(velocity: number): this;
77
+ minPointers(count: number): this;
78
+ maxPointers(count: number): this;
79
+ activateAfterLongPress(duration: number): this;
80
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
81
+ onChange(callback: (event: GestureEventPayload) => void): this;
82
+ }
83
+ /**
84
+ * `Gesture.Tap()`.
85
+ *
86
+ * `shouldCancelWhenOutside` is on by default, set from the constructor exactly
87
+ * as upstream's `TapGesture` does — a press that wanders off the view is not a
88
+ * tap on it, and the native `TapGestureHandler` config says the same.
89
+ */
90
+ export declare class TapGestureBuilder extends BaseGestureBuilder {
91
+ readonly kind: "tap";
92
+ constructor();
93
+ numberOfTaps(count: number): this;
94
+ maxDuration(duration: number): this;
95
+ maxDelay(delay: number): this;
96
+ maxDistance(distance: number): this;
97
+ maxDeltaX(delta: number): this;
98
+ maxDeltaY(delta: number): this;
99
+ minPointers(count: number): this;
100
+ }
101
+ /** `Gesture.LongPress()`, with upstream's default of `shouldCancelWhenOutside`. */
102
+ export declare class LongPressGestureBuilder extends BaseGestureBuilder {
103
+ readonly kind: "longPress";
104
+ constructor();
105
+ minDuration(duration: number): this;
106
+ maxDistance(distance: number): this;
107
+ numberOfPointers(count: number): this;
108
+ }
109
+ /**
110
+ * `Gesture.Native()` — the widget underneath, put into the arbitration.
111
+ *
112
+ * `shouldCancelWhenOutside` defaults to true from the constructor, which is
113
+ * where upstream's `NativeViewGestureHandler.init` sets it rather than its
114
+ * builder. See ./native for what the recognizer does and, more to the point,
115
+ * what it deliberately does not do: it never takes the responder, because
116
+ * taking it is what switches the native scroller off.
117
+ */
118
+ export declare class NativeGestureBuilder extends BaseGestureBuilder {
119
+ readonly kind: "native";
120
+ constructor();
121
+ shouldActivateOnStart(value: boolean): this;
122
+ disallowInterruption(value: boolean): this;
123
+ yieldsToContinuousGestures(value: boolean): this;
124
+ /**
125
+ * A native view is CONTINUOUS upstream (`isContinuous = true`), so it
126
+ * reports travel like `Pan` does and unlike `Tap`. These are here rather
127
+ * than on the base class for the same reason they are on
128
+ * `PanGestureBuilder`: upstream puts them on `ContinousBaseGesture`.
129
+ */
130
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
131
+ onChange(callback: (event: GestureEventPayload) => void): this;
132
+ }
133
+ /**
134
+ * `Gesture.Pinch()` and `Gesture.Rotation()`, which have no configuration of
135
+ * their own at all — verified against 3.1.0, where `PinchGesture` and
136
+ * `RotationGesture` add zero builder methods over `ContinousBaseGesture`, and
137
+ * where v3's `PinchGestureNativeProperties` is literally
138
+ * `Record<string, never>`. Both are CONTINUOUS, so `onUpdate`/`onChange` are
139
+ * here for the same reason they are on `PanGestureBuilder`.
140
+ *
141
+ * `shouldCancelWhenOutside` is off, set from the constructor because upstream
142
+ * sets it from `PinchGestureHandler.init`/`RotationGestureHandler.init` — a
143
+ * pinch whose focal point wanders off the view keeps running, unlike a tap.
144
+ *
145
+ * What they do NOT have is a pointer: see ./touchpad. Their numbers come from
146
+ * `GtkGestureZoom`/`GtkGestureRotate`, and everything else about them — the
147
+ * states, the callbacks, the arbitration — is the machine every other kind
148
+ * runs on.
149
+ */
150
+ export declare class PinchGestureBuilder extends BaseGestureBuilder {
151
+ readonly kind: "pinch";
152
+ constructor();
153
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
154
+ onChange(callback: (event: GestureEventPayload) => void): this;
155
+ }
156
+ /** `Gesture.Rotation()`. Same shape as `Pinch`, same reasons. */
157
+ export declare class RotationGestureBuilder extends BaseGestureBuilder {
158
+ readonly kind: "rotation";
159
+ constructor();
160
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
161
+ onChange(callback: (event: GestureEventPayload) => void): this;
162
+ }
163
+ /**
164
+ * `Gesture.Fling()` — a directional swipe, and the one DISCRETE gesture with a
165
+ * velocity criterion.
166
+ *
167
+ * No `onUpdate`/`onChange`, and that is upstream's shape rather than an
168
+ * omission: `FlingGesture` extends `BaseGesture` and not
169
+ * `ContinousBaseGesture`, because a fling activates and ends in the same
170
+ * breath (see ./fling) and there is never an update to report between them.
171
+ * Offering the methods would invite a callback that cannot fire.
172
+ */
173
+ export declare class FlingGestureBuilder extends BaseGestureBuilder {
174
+ readonly kind: "fling";
175
+ /** A BITMASK of `Directions`; several are one value, OR'd together. */
176
+ direction(direction: number): this;
177
+ numberOfPointers(count: number): this;
178
+ }
179
+ /**
180
+ * `Gesture.Manual()` — no configuration at all, because there is nothing to
181
+ * configure: the app drives the state machine through the manager handed to
182
+ * the `onTouches*` callbacks.
183
+ *
184
+ * Verified against 3.1.0, where `ManualGesture` adds zero builder methods over
185
+ * `ContinousBaseGesture` and v3's `ManualGestureProperties` is
186
+ * `Record<string, never>`. Continuous, so `onUpdate`/`onChange` are here.
187
+ */
188
+ export declare class ManualGestureBuilder extends BaseGestureBuilder {
189
+ readonly kind: "manual";
190
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
191
+ onChange(callback: (event: GestureEventPayload) => void): this;
192
+ }
193
+ /**
194
+ * `Gesture.Hover()` — the pointer being over the view, with no button down.
195
+ *
196
+ * `effect()` is upstream's one knob and it is iOS-only there; it is recorded
197
+ * and inert here, exactly as it is inert in upstream's own web handler, which
198
+ * never branches on it either. Continuous, so it reports travel.
199
+ */
200
+ export declare class HoverGestureBuilder extends BaseGestureBuilder {
201
+ readonly kind: "hover";
202
+ effect(effect: number): this;
203
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
204
+ onChange(callback: (event: GestureEventPayload) => void): this;
205
+ }
206
+ /**
207
+ * `Gesture.ForceTouch()` — pressure, and the one recognizer in this module
208
+ * whose input the test rig cannot fully produce. See ./force-touch, which
209
+ * says so at length, and docs/api.md, which says it where an app will read it.
210
+ *
211
+ * Continuous, matching upstream's `ContinousBaseGesture`.
212
+ */
213
+ export declare class ForceTouchGestureBuilder extends BaseGestureBuilder {
214
+ readonly kind: "forceTouch";
215
+ minForce(force: number): this;
216
+ maxForce(force: number): this;
217
+ /** Haptics. Recorded and inert: there is no haptic device on this platform. */
218
+ feedbackOnActivation(value: boolean): this;
219
+ onUpdate(callback: (event: GestureEventPayload) => void): this;
220
+ onChange(callback: (event: GestureEventPayload) => void): this;
221
+ }
222
+ /**
223
+ * `Gesture`, the namespace of statics — all ten of them, and the three
224
+ * composers.
225
+ *
226
+ * Nothing here throws any more. The four that used to (`Fling`, `Hover`,
227
+ * `Manual`, `ForceTouch`) are the last of upstream's surface and the reasons
228
+ * they were refused have been re-examined one at a time rather than inherited:
229
+ * `Fling` and `Manual` were always reachable and merely unwritten, `Hover` was
230
+ * refused on a judgement about the rig that was simply wrong (a mouse hovers,
231
+ * and the virtual pointer moves a mouse), and `ForceTouch` is the one that
232
+ * needs hardware — it ships with upstream's documented semantics and an
233
+ * explicit note about what is unverified, rather than a refusal that says
234
+ * nothing.
235
+ */
236
+ export declare const Gesture: {
237
+ Pan: () => PanGestureBuilder;
238
+ Tap: () => TapGestureBuilder;
239
+ LongPress: () => LongPressGestureBuilder;
240
+ Native: () => NativeGestureBuilder;
241
+ Race: (...gestures: AnyGestureSpec[]) => ComposedGestureSpec;
242
+ Simultaneous: (...gestures: AnyGestureSpec[]) => ComposedGestureSpec;
243
+ Exclusive: (...gestures: AnyGestureSpec[]) => ComposedGestureSpec;
244
+ Pinch: () => PinchGestureBuilder;
245
+ Rotation: () => RotationGestureBuilder;
246
+ Fling: () => FlingGestureBuilder;
247
+ Hover: () => HoverGestureBuilder;
248
+ Manual: () => ManualGestureBuilder;
249
+ ForceTouch: () => ForceTouchGestureBuilder;
250
+ };
251
+ export {};