@tamagui/sheet 2.7.6 → 3.0.0-beta.637.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 (435) hide show
  1. package/dist/cjs/GestureDetectorWrapper.cjs +32 -41
  2. package/dist/cjs/GestureDetectorWrapper.native.cjs +48 -0
  3. package/dist/cjs/GestureDetectorWrapper.native.js +32 -40
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
  5. package/dist/cjs/GestureSheetContext.cjs +29 -37
  6. package/dist/cjs/GestureSheetContext.native.cjs +49 -0
  7. package/dist/cjs/GestureSheetContext.native.js +30 -37
  8. package/dist/cjs/GestureSheetContext.native.js.map +1 -1
  9. package/dist/cjs/Sheet.cjs +206 -99
  10. package/dist/cjs/Sheet.native.cjs +234 -0
  11. package/dist/cjs/Sheet.native.js +212 -98
  12. package/dist/cjs/Sheet.native.js.map +1 -1
  13. package/dist/cjs/SheetContext.cjs +44 -22
  14. package/dist/cjs/SheetContext.native.cjs +58 -0
  15. package/dist/cjs/SheetContext.native.js +45 -22
  16. package/dist/cjs/SheetContext.native.js.map +1 -1
  17. package/dist/cjs/SheetController.cjs +50 -56
  18. package/dist/cjs/SheetController.native.cjs +72 -0
  19. package/dist/cjs/SheetController.native.js +53 -58
  20. package/dist/cjs/SheetController.native.js.map +1 -1
  21. package/dist/cjs/SheetImplementationCustom.cjs +674 -605
  22. package/dist/cjs/SheetImplementationCustom.native.cjs +762 -0
  23. package/dist/cjs/SheetImplementationCustom.native.js +713 -644
  24. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  25. package/dist/cjs/SheetScrollView.cjs +291 -312
  26. package/dist/cjs/SheetScrollView.native.cjs +326 -0
  27. package/dist/cjs/SheetScrollView.native.js +299 -319
  28. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  29. package/dist/cjs/constants.cjs +22 -21
  30. package/dist/cjs/constants.native.cjs +37 -0
  31. package/dist/cjs/constants.native.js +22 -20
  32. package/dist/cjs/constants.native.js.map +1 -1
  33. package/dist/cjs/contexts.cjs +20 -28
  34. package/dist/cjs/contexts.native.cjs +38 -0
  35. package/dist/cjs/contexts.native.js +20 -27
  36. package/dist/cjs/contexts.native.js.map +1 -1
  37. package/dist/cjs/controller.cjs +17 -18
  38. package/dist/cjs/controller.native.cjs +32 -0
  39. package/dist/cjs/controller.native.js +17 -17
  40. package/dist/cjs/controller.native.js.map +1 -1
  41. package/dist/cjs/gestureState.cjs +29 -30
  42. package/dist/cjs/gestureState.native.cjs +54 -0
  43. package/dist/cjs/gestureState.native.js +30 -30
  44. package/dist/cjs/gestureState.native.js.map +1 -1
  45. package/dist/cjs/helpers.cjs +21 -24
  46. package/dist/cjs/helpers.native.cjs +35 -0
  47. package/dist/cjs/helpers.native.js +22 -24
  48. package/dist/cjs/helpers.native.js.map +1 -1
  49. package/dist/cjs/index.cjs +15 -21
  50. package/dist/cjs/index.native.cjs +37 -0
  51. package/dist/cjs/index.native.js +16 -21
  52. package/dist/cjs/index.native.js.map +1 -1
  53. package/dist/cjs/keyboardAvoidance.cjs +56 -79
  54. package/dist/cjs/keyboardAvoidance.native.cjs +75 -0
  55. package/dist/cjs/keyboardAvoidance.native.js +56 -78
  56. package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
  57. package/dist/cjs/nativeSheet.cjs +64 -76
  58. package/dist/cjs/nativeSheet.native.cjs +94 -0
  59. package/dist/cjs/nativeSheet.native.js +70 -83
  60. package/dist/cjs/nativeSheet.native.js.map +1 -1
  61. package/dist/cjs/types.cjs +10 -11
  62. package/dist/cjs/types.native.cjs +19 -0
  63. package/dist/cjs/types.native.js +10 -10
  64. package/dist/cjs/types.native.js.map +1 -1
  65. package/dist/cjs/useGestureHandlerPan.cjs +245 -257
  66. package/dist/cjs/useGestureHandlerPan.native.cjs +273 -0
  67. package/dist/cjs/useGestureHandlerPan.native.js +254 -265
  68. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  69. package/dist/cjs/useKeyboardControllerSheet.cjs +83 -88
  70. package/dist/cjs/useKeyboardControllerSheet.native.cjs +119 -0
  71. package/dist/cjs/useKeyboardControllerSheet.native.js +100 -111
  72. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  73. package/dist/cjs/useSafeAreaInsets.cjs +20 -26
  74. package/dist/cjs/useSafeAreaInsets.native.cjs +51 -0
  75. package/dist/cjs/useSafeAreaInsets.native.js +30 -25
  76. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -1
  77. package/dist/cjs/useSheetController.cjs +27 -39
  78. package/dist/cjs/useSheetController.native.cjs +42 -0
  79. package/dist/cjs/useSheetController.native.js +28 -39
  80. package/dist/cjs/useSheetController.native.js.map +1 -1
  81. package/dist/cjs/useSheetOffscreenSize.cjs +44 -53
  82. package/dist/cjs/useSheetOffscreenSize.native.cjs +60 -0
  83. package/dist/cjs/useSheetOffscreenSize.native.js +48 -56
  84. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  85. package/dist/cjs/useSheetOpenState.cjs +69 -40
  86. package/dist/cjs/useSheetOpenState.native.cjs +88 -0
  87. package/dist/cjs/useSheetOpenState.native.js +74 -42
  88. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  89. package/dist/cjs/useSheetProviderProps.cjs +146 -164
  90. package/dist/cjs/useSheetProviderProps.native.cjs +176 -0
  91. package/dist/cjs/useSheetProviderProps.native.js +156 -174
  92. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  93. package/dist/cjs/useSheetScrollViewGestures.cjs +172 -180
  94. package/dist/cjs/useSheetScrollViewGestures.native.cjs +150 -0
  95. package/dist/cjs/useSheetScrollViewGestures.native.js +136 -147
  96. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  97. package/dist/cjs/webViewport.cjs +47 -48
  98. package/dist/cjs/webViewport.native.cjs +79 -0
  99. package/dist/cjs/webViewport.native.js +50 -50
  100. package/dist/cjs/webViewport.native.js.map +1 -1
  101. package/dist/esm/GestureDetectorWrapper.mjs +19 -23
  102. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
  103. package/dist/esm/GestureDetectorWrapper.native.js +20 -24
  104. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
  105. package/dist/esm/GestureSheetContext.mjs +15 -20
  106. package/dist/esm/GestureSheetContext.mjs.map +1 -1
  107. package/dist/esm/GestureSheetContext.native.js +17 -22
  108. package/dist/esm/GestureSheetContext.native.js.map +1 -1
  109. package/dist/esm/Sheet.mjs +191 -83
  110. package/dist/esm/Sheet.mjs.map +1 -1
  111. package/dist/esm/Sheet.native.js +198 -83
  112. package/dist/esm/Sheet.native.js.map +1 -1
  113. package/dist/esm/SheetContext.mjs +21 -5
  114. package/dist/esm/SheetContext.mjs.map +1 -1
  115. package/dist/esm/SheetContext.native.js +21 -5
  116. package/dist/esm/SheetContext.native.js.map +1 -1
  117. package/dist/esm/SheetController.mjs +34 -30
  118. package/dist/esm/SheetController.mjs.map +1 -1
  119. package/dist/esm/SheetController.native.js +38 -34
  120. package/dist/esm/SheetController.native.js.map +1 -1
  121. package/dist/esm/SheetImplementationCustom.mjs +655 -580
  122. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  123. package/dist/esm/SheetImplementationCustom.native.js +691 -612
  124. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  125. package/dist/esm/SheetScrollView.mjs +277 -288
  126. package/dist/esm/SheetScrollView.mjs.map +1 -1
  127. package/dist/esm/SheetScrollView.native.js +286 -297
  128. package/dist/esm/SheetScrollView.native.js.map +1 -1
  129. package/dist/esm/constants.mjs +5 -3
  130. package/dist/esm/constants.mjs.map +1 -1
  131. package/dist/esm/constants.native.js +5 -3
  132. package/dist/esm/constants.native.js.map +1 -1
  133. package/dist/esm/contexts.mjs +3 -3
  134. package/dist/esm/contexts.mjs.map +1 -1
  135. package/dist/esm/contexts.native.js +3 -3
  136. package/dist/esm/contexts.native.js.map +1 -1
  137. package/dist/esm/controller.mjs +2 -2
  138. package/dist/esm/controller.native.js +2 -2
  139. package/dist/esm/gestureState.mjs +13 -11
  140. package/dist/esm/gestureState.mjs.map +1 -1
  141. package/dist/esm/gestureState.native.js +14 -12
  142. package/dist/esm/gestureState.native.js.map +1 -1
  143. package/dist/esm/helpers.mjs +7 -6
  144. package/dist/esm/helpers.mjs.map +1 -1
  145. package/dist/esm/helpers.native.js +8 -7
  146. package/dist/esm/helpers.native.js.map +1 -1
  147. package/dist/esm/index.js +21 -14
  148. package/dist/esm/index.mjs +21 -14
  149. package/dist/esm/index.native.js +21 -14
  150. package/dist/esm/keyboardAvoidance.mjs +40 -61
  151. package/dist/esm/keyboardAvoidance.mjs.map +1 -1
  152. package/dist/esm/keyboardAvoidance.native.js +40 -61
  153. package/dist/esm/keyboardAvoidance.native.js.map +1 -1
  154. package/dist/esm/nativeSheet.mjs +52 -61
  155. package/dist/esm/nativeSheet.mjs.map +1 -1
  156. package/dist/esm/nativeSheet.native.js +58 -69
  157. package/dist/esm/nativeSheet.native.js.map +1 -1
  158. package/dist/esm/types.mjs +0 -2
  159. package/dist/esm/types.native.js +0 -2
  160. package/dist/esm/useGestureHandlerPan.mjs +232 -239
  161. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  162. package/dist/esm/useGestureHandlerPan.native.js +241 -248
  163. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  164. package/dist/esm/useKeyboardControllerSheet.mjs +71 -71
  165. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  166. package/dist/esm/useKeyboardControllerSheet.native.js +92 -94
  167. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  168. package/dist/esm/useSafeAreaInsets.mjs +3 -1
  169. package/dist/esm/useSafeAreaInsets.mjs.map +1 -1
  170. package/dist/esm/useSafeAreaInsets.native.js +15 -3
  171. package/dist/esm/useSafeAreaInsets.native.js.map +1 -1
  172. package/dist/esm/useSheetController.mjs +14 -12
  173. package/dist/esm/useSheetController.mjs.map +1 -1
  174. package/dist/esm/useSheetController.native.js +14 -12
  175. package/dist/esm/useSheetController.native.js.map +1 -1
  176. package/dist/esm/useSheetOffscreenSize.mjs +30 -35
  177. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  178. package/dist/esm/useSheetOffscreenSize.native.js +34 -39
  179. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  180. package/dist/esm/useSheetOpenState.mjs +50 -22
  181. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  182. package/dist/esm/useSheetOpenState.native.js +55 -25
  183. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  184. package/dist/esm/useSheetProviderProps.mjs +130 -138
  185. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  186. package/dist/esm/useSheetProviderProps.native.js +140 -149
  187. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  188. package/dist/esm/useSheetScrollViewGestures.mjs +159 -162
  189. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  190. package/dist/esm/useSheetScrollViewGestures.native.js +123 -130
  191. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  192. package/dist/esm/webViewport.mjs +26 -25
  193. package/dist/esm/webViewport.mjs.map +1 -1
  194. package/dist/esm/webViewport.native.js +29 -28
  195. package/dist/esm/webViewport.native.js.map +1 -1
  196. package/dist/jsx/GestureDetectorWrapper.mjs +19 -23
  197. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
  198. package/dist/jsx/GestureDetectorWrapper.native.cjs +48 -0
  199. package/dist/jsx/GestureDetectorWrapper.native.js +32 -40
  200. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
  201. package/dist/jsx/GestureSheetContext.mjs +15 -20
  202. package/dist/jsx/GestureSheetContext.mjs.map +1 -1
  203. package/dist/jsx/GestureSheetContext.native.cjs +49 -0
  204. package/dist/jsx/GestureSheetContext.native.js +30 -37
  205. package/dist/jsx/GestureSheetContext.native.js.map +1 -1
  206. package/dist/jsx/Sheet.mjs +191 -83
  207. package/dist/jsx/Sheet.mjs.map +1 -1
  208. package/dist/jsx/Sheet.native.cjs +234 -0
  209. package/dist/jsx/Sheet.native.js +212 -98
  210. package/dist/jsx/Sheet.native.js.map +1 -1
  211. package/dist/jsx/SheetContext.mjs +21 -5
  212. package/dist/jsx/SheetContext.mjs.map +1 -1
  213. package/dist/jsx/SheetContext.native.cjs +58 -0
  214. package/dist/jsx/SheetContext.native.js +45 -22
  215. package/dist/jsx/SheetContext.native.js.map +1 -1
  216. package/dist/jsx/SheetController.mjs +34 -30
  217. package/dist/jsx/SheetController.mjs.map +1 -1
  218. package/dist/jsx/SheetController.native.cjs +72 -0
  219. package/dist/jsx/SheetController.native.js +53 -58
  220. package/dist/jsx/SheetController.native.js.map +1 -1
  221. package/dist/jsx/SheetImplementationCustom.mjs +655 -580
  222. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  223. package/dist/jsx/SheetImplementationCustom.native.cjs +762 -0
  224. package/dist/jsx/SheetImplementationCustom.native.js +713 -644
  225. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  226. package/dist/jsx/SheetScrollView.mjs +277 -288
  227. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  228. package/dist/jsx/SheetScrollView.native.cjs +326 -0
  229. package/dist/jsx/SheetScrollView.native.js +299 -319
  230. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  231. package/dist/jsx/constants.mjs +5 -3
  232. package/dist/jsx/constants.mjs.map +1 -1
  233. package/dist/jsx/constants.native.cjs +37 -0
  234. package/dist/jsx/constants.native.js +22 -20
  235. package/dist/jsx/constants.native.js.map +1 -1
  236. package/dist/jsx/contexts.mjs +3 -3
  237. package/dist/jsx/contexts.mjs.map +1 -1
  238. package/dist/jsx/contexts.native.cjs +38 -0
  239. package/dist/jsx/contexts.native.js +20 -27
  240. package/dist/jsx/contexts.native.js.map +1 -1
  241. package/dist/jsx/controller.mjs +2 -2
  242. package/dist/jsx/controller.native.cjs +32 -0
  243. package/dist/jsx/controller.native.js +17 -17
  244. package/dist/jsx/controller.native.js.map +1 -1
  245. package/dist/jsx/gestureState.mjs +13 -11
  246. package/dist/jsx/gestureState.mjs.map +1 -1
  247. package/dist/jsx/gestureState.native.cjs +54 -0
  248. package/dist/jsx/gestureState.native.js +30 -30
  249. package/dist/jsx/gestureState.native.js.map +1 -1
  250. package/dist/jsx/helpers.mjs +7 -6
  251. package/dist/jsx/helpers.mjs.map +1 -1
  252. package/dist/jsx/helpers.native.cjs +35 -0
  253. package/dist/jsx/helpers.native.js +22 -24
  254. package/dist/jsx/helpers.native.js.map +1 -1
  255. package/dist/jsx/index.js +21 -14
  256. package/dist/jsx/index.mjs +21 -14
  257. package/dist/jsx/index.native.cjs +37 -0
  258. package/dist/jsx/index.native.js +16 -21
  259. package/dist/jsx/index.native.js.map +1 -1
  260. package/dist/jsx/keyboardAvoidance.mjs +40 -61
  261. package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
  262. package/dist/jsx/keyboardAvoidance.native.cjs +75 -0
  263. package/dist/jsx/keyboardAvoidance.native.js +56 -78
  264. package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
  265. package/dist/jsx/nativeSheet.mjs +52 -61
  266. package/dist/jsx/nativeSheet.mjs.map +1 -1
  267. package/dist/jsx/nativeSheet.native.cjs +94 -0
  268. package/dist/jsx/nativeSheet.native.js +70 -83
  269. package/dist/jsx/nativeSheet.native.js.map +1 -1
  270. package/dist/jsx/types.mjs +0 -2
  271. package/dist/jsx/types.native.cjs +19 -0
  272. package/dist/jsx/types.native.js +10 -10
  273. package/dist/jsx/types.native.js.map +1 -1
  274. package/dist/jsx/useGestureHandlerPan.mjs +232 -239
  275. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  276. package/dist/jsx/useGestureHandlerPan.native.cjs +273 -0
  277. package/dist/jsx/useGestureHandlerPan.native.js +254 -265
  278. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  279. package/dist/jsx/useKeyboardControllerSheet.mjs +71 -71
  280. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  281. package/dist/jsx/useKeyboardControllerSheet.native.cjs +119 -0
  282. package/dist/jsx/useKeyboardControllerSheet.native.js +100 -111
  283. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  284. package/dist/jsx/useSafeAreaInsets.mjs +3 -1
  285. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -1
  286. package/dist/jsx/useSafeAreaInsets.native.cjs +51 -0
  287. package/dist/jsx/useSafeAreaInsets.native.js +30 -25
  288. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -1
  289. package/dist/jsx/useSheetController.mjs +14 -12
  290. package/dist/jsx/useSheetController.mjs.map +1 -1
  291. package/dist/jsx/useSheetController.native.cjs +42 -0
  292. package/dist/jsx/useSheetController.native.js +28 -39
  293. package/dist/jsx/useSheetController.native.js.map +1 -1
  294. package/dist/jsx/useSheetOffscreenSize.mjs +30 -35
  295. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  296. package/dist/jsx/useSheetOffscreenSize.native.cjs +60 -0
  297. package/dist/jsx/useSheetOffscreenSize.native.js +48 -56
  298. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  299. package/dist/jsx/useSheetOpenState.mjs +50 -22
  300. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  301. package/dist/jsx/useSheetOpenState.native.cjs +88 -0
  302. package/dist/jsx/useSheetOpenState.native.js +74 -42
  303. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  304. package/dist/jsx/useSheetProviderProps.mjs +130 -138
  305. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  306. package/dist/jsx/useSheetProviderProps.native.cjs +176 -0
  307. package/dist/jsx/useSheetProviderProps.native.js +156 -174
  308. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  309. package/dist/jsx/useSheetScrollViewGestures.mjs +159 -162
  310. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  311. package/dist/jsx/useSheetScrollViewGestures.native.cjs +150 -0
  312. package/dist/jsx/useSheetScrollViewGestures.native.js +136 -147
  313. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  314. package/dist/jsx/webViewport.mjs +26 -25
  315. package/dist/jsx/webViewport.mjs.map +1 -1
  316. package/dist/jsx/webViewport.native.cjs +79 -0
  317. package/dist/jsx/webViewport.native.js +50 -50
  318. package/dist/jsx/webViewport.native.js.map +1 -1
  319. package/package.json +33 -39
  320. package/src/Sheet.tsx +316 -77
  321. package/src/SheetContext.tsx +57 -7
  322. package/src/SheetController.tsx +7 -6
  323. package/src/SheetImplementationCustom.tsx +343 -140
  324. package/src/SheetScrollView.tsx +24 -13
  325. package/src/constants.tsx +3 -3
  326. package/src/helpers.tsx +0 -14
  327. package/src/index.ts +3 -6
  328. package/src/nativeSheet.tsx +5 -15
  329. package/src/types.tsx +104 -92
  330. package/src/useKeyboardControllerSheet.native.ts +7 -2
  331. package/src/useSafeAreaInsets.native.ts +20 -13
  332. package/src/useSheetController.tsx +15 -7
  333. package/src/useSheetOpenState.tsx +50 -4
  334. package/src/useSheetProviderProps.tsx +4 -27
  335. package/src/useSheetScrollViewGestures.ts +2 -2
  336. package/types/GestureDetectorWrapper.d.ts +1 -1
  337. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  338. package/types/GestureSheetContext.d.ts +1 -1
  339. package/types/GestureSheetContext.d.ts.map +1 -1
  340. package/types/Sheet.d.ts +384 -135
  341. package/types/Sheet.d.ts.map +1 -1
  342. package/types/SheetContext.d.ts +28 -42
  343. package/types/SheetContext.d.ts.map +1 -1
  344. package/types/SheetController.d.ts +4 -2
  345. package/types/SheetController.d.ts.map +1 -1
  346. package/types/SheetImplementationCustom.d.ts +3 -35
  347. package/types/SheetImplementationCustom.d.ts.map +1 -1
  348. package/types/SheetScrollView.d.ts +57 -23
  349. package/types/SheetScrollView.d.ts.map +1 -1
  350. package/types/constants.d.ts +3 -2
  351. package/types/constants.d.ts.map +1 -1
  352. package/types/index.d.ts +1 -3
  353. package/types/index.d.ts.map +1 -1
  354. package/types/nativeSheet.d.ts.map +1 -1
  355. package/types/types.d.ts +28 -17
  356. package/types/types.d.ts.map +1 -1
  357. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  358. package/types/useSafeAreaInsets.native.d.ts +4 -12
  359. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  360. package/types/useSheetController.d.ts +6 -6
  361. package/types/useSheetController.d.ts.map +1 -1
  362. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  363. package/types/useSheetOpenState.d.ts +3 -2
  364. package/types/useSheetOpenState.d.ts.map +1 -1
  365. package/types/useSheetProviderProps.d.ts +5 -8
  366. package/types/useSheetProviderProps.d.ts.map +1 -1
  367. package/types/useSheetScrollViewGestures.d.ts +2 -2
  368. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  369. package/.turbo/turbo-build.log +0 -2
  370. package/controller/index.cjs +0 -2
  371. package/controller/index.d.ts +0 -5
  372. package/controller/index.js +0 -2
  373. package/controller/index.native.cjs +0 -2
  374. package/controller/index.native.js +0 -2
  375. package/dist/cjs/createSheet.cjs +0 -194
  376. package/dist/cjs/createSheet.native.js +0 -204
  377. package/dist/cjs/createSheet.native.js.map +0 -1
  378. package/dist/cjs/setupGestureHandler.cjs +0 -55
  379. package/dist/cjs/setupGestureHandler.native.js +0 -60
  380. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  381. package/dist/cjs/useSheet.cjs +0 -29
  382. package/dist/cjs/useSheet.native.js +0 -34
  383. package/dist/cjs/useSheet.native.js.map +0 -1
  384. package/dist/esm/controller.mjs.map +0 -1
  385. package/dist/esm/controller.native.js.map +0 -1
  386. package/dist/esm/createSheet.mjs +0 -168
  387. package/dist/esm/createSheet.mjs.map +0 -1
  388. package/dist/esm/createSheet.native.js +0 -176
  389. package/dist/esm/createSheet.native.js.map +0 -1
  390. package/dist/esm/index.js.map +0 -1
  391. package/dist/esm/index.mjs.map +0 -1
  392. package/dist/esm/index.native.js.map +0 -1
  393. package/dist/esm/setupGestureHandler.mjs +0 -29
  394. package/dist/esm/setupGestureHandler.mjs.map +0 -1
  395. package/dist/esm/setupGestureHandler.native.js +0 -31
  396. package/dist/esm/setupGestureHandler.native.js.map +0 -1
  397. package/dist/esm/types.mjs.map +0 -1
  398. package/dist/esm/types.native.js.map +0 -1
  399. package/dist/esm/useSheet.mjs +0 -4
  400. package/dist/esm/useSheet.mjs.map +0 -1
  401. package/dist/esm/useSheet.native.js +0 -6
  402. package/dist/esm/useSheet.native.js.map +0 -1
  403. package/dist/jsx/controller.mjs.map +0 -1
  404. package/dist/jsx/createSheet.mjs +0 -168
  405. package/dist/jsx/createSheet.mjs.map +0 -1
  406. package/dist/jsx/createSheet.native.js +0 -204
  407. package/dist/jsx/createSheet.native.js.map +0 -1
  408. package/dist/jsx/index.js.map +0 -1
  409. package/dist/jsx/index.mjs.map +0 -1
  410. package/dist/jsx/setupGestureHandler.mjs +0 -29
  411. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  412. package/dist/jsx/setupGestureHandler.native.js +0 -60
  413. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  414. package/dist/jsx/types.mjs.map +0 -1
  415. package/dist/jsx/useSheet.mjs +0 -4
  416. package/dist/jsx/useSheet.mjs.map +0 -1
  417. package/dist/jsx/useSheet.native.js +0 -34
  418. package/dist/jsx/useSheet.native.js.map +0 -1
  419. package/next.md +0 -78
  420. package/setup-gesture-handler/index.cjs +0 -2
  421. package/setup-gesture-handler/index.js +0 -2
  422. package/setup-gesture-handler/index.native.cjs +0 -2
  423. package/setup-gesture-handler/index.native.js +0 -2
  424. package/setup-gesture-handler.cjs +0 -1
  425. package/src/createSheet.tsx +0 -309
  426. package/src/setupGestureHandler.ts +0 -43
  427. package/src/useSheet.tsx +0 -3
  428. package/test/keyboardAvoidance.test.ts +0 -269
  429. package/tsconfig.json +0 -57
  430. package/types/createSheet.d.ts +0 -195
  431. package/types/createSheet.d.ts.map +0 -1
  432. package/types/setupGestureHandler.d.ts +0 -11
  433. package/types/setupGestureHandler.d.ts.map +0 -1
  434. package/types/useSheet.d.ts +0 -2
  435. package/types/useSheet.d.ts.map +0 -1
@@ -2,257 +2,250 @@ import { isWeb } from "@tamagui/constants";
2
2
  import { useCallback, useEffect, useMemo, useRef } from "react";
3
3
  import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.native.js";
4
4
  import { getSheetReleasePosition } from "./keyboardAvoidance.native.js";
5
+
5
6
  var AT_TOP_THRESHOLD = 5;
6
7
  var SCROLL_HANDOFF_THRESHOLD = 160;
7
8
  function useGestureHandlerPan(config) {
8
- var {
9
- positions,
10
- frameSize,
11
- setPosition,
12
- animateTo,
13
- stopSpring,
14
- scrollBridge,
15
- setIsDragging,
16
- getCurrentPosition,
17
- resisted,
18
- disableDrag,
19
- isShowingInnerSheet,
20
- setAnimatedPosition,
21
- scrollGestureRef
22
- } = config;
23
- var gestureHandlerEnabled = isGestureHandlerEnabled();
24
- var panGestureRef = useRef(null);
25
- var _config_snapPointsMode;
26
- var releaseConfigRef = useRef({
27
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
28
- snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
29
- isKeyboardVisible: config.isKeyboardVisible === true
30
- });
31
- var _config_snapPointsMode1;
32
- releaseConfigRef.current = {
33
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
34
- snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
35
- isKeyboardVisible: config.isKeyboardVisible === true
36
- };
37
- var gestureStateRef = useRef({
38
- startY: 0,
39
- // track last translation when pan was active (for position calculation after handoff)
40
- lastPanTranslationY: 0,
41
- // accumulated position offset from all pan movements
42
- accumulatedOffset: 0,
43
- // track previous translation for direction detection (like actions-sheet)
44
- prevTranslationY: 0,
45
- // track if scroll was engaged (scrollY > 0) at some point
46
- scrollEngaged: false,
47
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
48
- // causing positions to revert. Frozen positions ensure stable snap calculation.
49
- frozenPositions: [],
50
- frozenMinY: 0,
51
- frozenIsKeyboardVisible: false,
52
- // whether pan gesture actually started (vs just a tap in onBegin)
53
- panStarted: false,
54
- startedBelowTop: false,
55
- upwardDragAfterTop: 0,
56
- scrollUnlockedAfterTop: false,
57
- keepScrollLockedAfterEnd: false
58
- });
59
- var unlockScrollTimer = useRef(null);
60
- useEffect(function () {
61
- return function () {
62
- if (unlockScrollTimer.current) {
63
- clearTimeout(unlockScrollTimer.current);
64
- unlockScrollTimer.current = null;
65
- }
66
- };
67
- }, []);
68
- var onStart = useCallback(function () {
69
- stopSpring();
70
- }, [stopSpring]);
71
- var onEnd = useCallback(function (closestPoint, animationOverride) {
72
- var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
73
- if (unlockScrollTimer.current) {
74
- clearTimeout(unlockScrollTimer.current);
75
- unlockScrollTimer.current = null;
76
- }
77
- setIsDragging(false);
78
- scrollBridge.setParentDragging(false);
79
- scrollBridge.lockScrollAtTop = false;
80
- if (keepScrollLocked) {
81
- var _scrollBridge_setScrollEnabled;
82
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
83
- unlockScrollTimer.current = setTimeout(function () {
84
- var _scrollBridge_setScrollEnabled2;
85
- unlockScrollTimer.current = null;
86
- (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
87
- }, 160);
88
- } else {
89
- var _scrollBridge_setScrollEnabled1;
90
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
91
- }
92
- setPosition(closestPoint);
93
- animateTo(closestPoint, animationOverride);
94
- }, [setIsDragging, scrollBridge, setPosition, animateTo]);
95
- var panGesture = useMemo(function () {
96
- if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
97
- return null;
98
- }
99
- var {
100
- Gesture
101
- } = getGestureHandlerState();
102
- if (!Gesture) {
103
- return null;
104
- }
105
- var minY = positions[0];
106
- var gs = gestureStateRef.current;
107
- var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function () {
108
- gs.panStarted = false;
109
- if (config.pauseKeyboardHandler) {
110
- config.pauseKeyboardHandler.current = true;
111
- }
112
- var pos = getCurrentPosition();
113
- var atTop = pos <= minY + AT_TOP_THRESHOLD;
114
- var currentScrollY = scrollBridge.y;
115
- gs.startY = pos;
116
- gs.lastPanTranslationY = 0;
117
- gs.accumulatedOffset = 0;
118
- gs.prevTranslationY = 0;
119
- gs.scrollEngaged = currentScrollY > 0;
120
- gs.frozenPositions = [...positions];
121
- gs.frozenMinY = minY;
122
- gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
123
- gs.startedBelowTop = !atTop;
124
- gs.upwardDragAfterTop = 0;
125
- gs.scrollUnlockedAfterTop = false;
126
- gs.keepScrollLockedAfterEnd = false;
127
- scrollBridge.lockScrollAtTop = false;
128
- if (unlockScrollTimer.current) {
129
- clearTimeout(unlockScrollTimer.current);
130
- unlockScrollTimer.current = null;
131
- }
132
- if (!atTop) {
133
- var _scrollBridge_setScrollEnabled;
134
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
135
- }
136
- }).onStart(function () {
137
- gs.panStarted = true;
138
- setIsDragging(true);
139
- scrollBridge.initialPosition = gs.startY;
140
- onStart();
141
- }).onChange(function (event) {
142
- var {
143
- translationY
144
- } = event;
145
- var isSwipingDown = gs.prevTranslationY < translationY;
146
- var deltaY = translationY - gs.prevTranslationY;
147
- gs.prevTranslationY = translationY;
148
- var scrollY = scrollBridge.y;
149
- if (scrollY > 0) {
150
- gs.scrollEngaged = true;
151
- }
152
- var currentPos = gs.startY + gs.accumulatedOffset;
153
- var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
154
- var nodeIsScrolling = scrollY > 0;
155
- var panHandles = false;
156
- var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
157
- if (!isCurrentlyAtTop) {
158
- if (isSwipingDown) {
159
- panHandles = !nodeIsScrolling || !hasScrollableContent;
160
- } else {
161
- panHandles = true;
162
- }
163
- } else {
164
- if (isSwipingDown) {
165
- if (nodeIsScrolling && hasScrollableContent) {
166
- panHandles = false;
167
- } else if (gs.scrollEngaged && hasScrollableContent) {
168
- panHandles = true;
169
- } else {
170
- panHandles = true;
171
- }
172
- } else {
173
- if (hasScrollableContent) {
174
- if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
175
- gs.upwardDragAfterTop += Math.max(0, -deltaY);
176
- if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
177
- gs.scrollUnlockedAfterTop = true;
178
- panHandles = false;
179
- } else {
180
- panHandles = true;
181
- }
182
- } else {
183
- panHandles = false;
184
- }
185
- } else {
186
- panHandles = true;
187
- }
188
- }
189
- }
190
- if (panHandles) {
191
- var _scrollBridge_setScrollEnabled;
192
- scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
193
- var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
194
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
195
- gs.accumulatedOffset += deltaY;
196
- var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
197
- scrollBridge.paneY = newPosition;
198
- setAnimatedPosition(newPosition);
199
- scrollBridge.setParentDragging(newPosition > minY);
200
- } else {
201
- var _scrollBridge_setScrollEnabled1;
202
- scrollBridge.lockScrollAtTop = false;
203
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
204
- scrollBridge.setParentDragging(false);
205
- }
206
- }).onEnd(function (event) {
207
- var {
208
- velocityY
209
- } = event;
210
- var currentPos = gs.startY + gs.accumulatedOffset;
211
- var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
212
- scrollBridge.lockScrollAtTop = false;
213
- scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
214
- gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
215
- var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
216
- var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
217
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
218
- onEnd(0, void 0, keepScrollLockedAfterEnd);
219
- return;
220
- }
221
- var velocity = velocityY / 1e3;
222
- var projectedEnd = currentPos + frameSize * velocity * 0.2;
223
- var releaseConfig = releaseConfigRef.current;
224
- var closestPoint = getSheetReleasePosition({
225
- positions: snapPositions,
226
- projectedEnd,
227
- currentPosition: currentPos,
228
- frameSize,
229
- dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
230
- snapPointsMode: releaseConfig.snapPointsMode,
231
- isKeyboardVisible: gs.frozenIsKeyboardVisible,
232
- isWeb
233
- });
234
- onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
235
- }).onFinalize(function () {
236
- scrollBridge.lockScrollAtTop = false;
237
- scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
238
- if (gs.panStarted) {
239
- setIsDragging(false);
240
- } else {
241
- if (config.pauseKeyboardHandler) {
242
- config.pauseKeyboardHandler.current = false;
243
- }
244
- }
245
- }).runOnJS(true);
246
- if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
247
- return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
248
- }
249
- return gesture;
250
- }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
251
- return {
252
- panGesture,
253
- panGestureRef,
254
- gestureHandlerEnabled
255
- };
9
+ var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;
10
+ var gestureHandlerEnabled = isGestureHandlerEnabled();
11
+ var panGestureRef = useRef(null);
12
+ var _config_snapPointsMode;
13
+ var releaseConfigRef = useRef({
14
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
15
+ snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
16
+ isKeyboardVisible: config.isKeyboardVisible === true
17
+ });
18
+ var _config_snapPointsMode1;
19
+ releaseConfigRef.current = {
20
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
21
+ snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
22
+ isKeyboardVisible: config.isKeyboardVisible === true
23
+ };
24
+ var gestureStateRef = useRef({
25
+ startY: 0,
26
+ lastPanTranslationY: 0,
27
+ accumulatedOffset: 0,
28
+ prevTranslationY: 0,
29
+ scrollEngaged: false,
30
+ frozenPositions: [],
31
+ frozenMinY: 0,
32
+ frozenIsKeyboardVisible: false,
33
+ panStarted: false,
34
+ startedBelowTop: false,
35
+ upwardDragAfterTop: 0,
36
+ scrollUnlockedAfterTop: false,
37
+ keepScrollLockedAfterEnd: false
38
+ });
39
+ var unlockScrollTimer = useRef(null);
40
+ useEffect(function() {
41
+ return function() {
42
+ if (unlockScrollTimer.current) {
43
+ clearTimeout(unlockScrollTimer.current);
44
+ unlockScrollTimer.current = null;
45
+ }
46
+ };
47
+ }, []);
48
+ var onStart = useCallback(function() {
49
+ stopSpring();
50
+ }, [stopSpring]);
51
+ var onEnd = useCallback(function(closestPoint, animationOverride) {
52
+ var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
53
+ if (unlockScrollTimer.current) {
54
+ clearTimeout(unlockScrollTimer.current);
55
+ unlockScrollTimer.current = null;
56
+ }
57
+ setIsDragging(false);
58
+ scrollBridge.setParentDragging(false);
59
+ scrollBridge.lockScrollAtTop = false;
60
+ if (keepScrollLocked) {
61
+ var _scrollBridge_setScrollEnabled;
62
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
63
+ unlockScrollTimer.current = setTimeout(function() {
64
+ var _scrollBridge_setScrollEnabled2;
65
+ unlockScrollTimer.current = null;
66
+ (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
67
+ }, 160);
68
+ } else {
69
+ var _scrollBridge_setScrollEnabled1;
70
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
71
+ }
72
+ setPosition(closestPoint);
73
+ animateTo(closestPoint, animationOverride);
74
+ }, [
75
+ setIsDragging,
76
+ scrollBridge,
77
+ setPosition,
78
+ animateTo
79
+ ]);
80
+ var panGesture = useMemo(function() {
81
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
82
+ return null;
83
+ }
84
+ var { Gesture } = getGestureHandlerState();
85
+ if (!Gesture) {
86
+ return null;
87
+ }
88
+ var minY = positions[0];
89
+ var gs = gestureStateRef.current;
90
+ var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function() {
91
+ gs.panStarted = false;
92
+ if (config.pauseKeyboardHandler) {
93
+ config.pauseKeyboardHandler.current = true;
94
+ }
95
+ var pos = getCurrentPosition();
96
+ var atTop = pos <= minY + AT_TOP_THRESHOLD;
97
+ var currentScrollY = scrollBridge.y;
98
+ gs.startY = pos;
99
+ gs.lastPanTranslationY = 0;
100
+ gs.accumulatedOffset = 0;
101
+ gs.prevTranslationY = 0;
102
+ gs.scrollEngaged = currentScrollY > 0;
103
+ gs.frozenPositions = [...positions];
104
+ gs.frozenMinY = minY;
105
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
106
+ gs.startedBelowTop = !atTop;
107
+ gs.upwardDragAfterTop = 0;
108
+ gs.scrollUnlockedAfterTop = false;
109
+ gs.keepScrollLockedAfterEnd = false;
110
+ scrollBridge.lockScrollAtTop = false;
111
+ if (unlockScrollTimer.current) {
112
+ clearTimeout(unlockScrollTimer.current);
113
+ unlockScrollTimer.current = null;
114
+ }
115
+ if (!atTop) {
116
+ var _scrollBridge_setScrollEnabled;
117
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
118
+ }
119
+ }).onStart(function() {
120
+ gs.panStarted = true;
121
+ setIsDragging(true);
122
+ scrollBridge.initialPosition = gs.startY;
123
+ onStart();
124
+ }).onChange(function(event) {
125
+ var { translationY } = event;
126
+ var isSwipingDown = gs.prevTranslationY < translationY;
127
+ var deltaY = translationY - gs.prevTranslationY;
128
+ gs.prevTranslationY = translationY;
129
+ var scrollY = scrollBridge.y;
130
+ if (scrollY > 0) {
131
+ gs.scrollEngaged = true;
132
+ }
133
+ var currentPos = gs.startY + gs.accumulatedOffset;
134
+ var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
135
+ var nodeIsScrolling = scrollY > 0;
136
+ var panHandles = false;
137
+ var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
138
+ if (!isCurrentlyAtTop) {
139
+ if (isSwipingDown) {
140
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
141
+ } else {
142
+ panHandles = true;
143
+ }
144
+ } else {
145
+ if (isSwipingDown) {
146
+ if (nodeIsScrolling && hasScrollableContent) {
147
+ panHandles = false;
148
+ } else if (gs.scrollEngaged && hasScrollableContent) {
149
+ panHandles = true;
150
+ } else {
151
+ panHandles = true;
152
+ }
153
+ } else {
154
+ if (hasScrollableContent) {
155
+ if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
156
+ gs.upwardDragAfterTop += Math.max(0, -deltaY);
157
+ if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
158
+ gs.scrollUnlockedAfterTop = true;
159
+ panHandles = false;
160
+ } else {
161
+ panHandles = true;
162
+ }
163
+ } else {
164
+ panHandles = false;
165
+ }
166
+ } else {
167
+ panHandles = true;
168
+ }
169
+ }
170
+ }
171
+ if (panHandles) {
172
+ var _scrollBridge_setScrollEnabled;
173
+ scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
174
+ var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
175
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
176
+ gs.accumulatedOffset += deltaY;
177
+ var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
178
+ scrollBridge.paneY = newPosition;
179
+ setAnimatedPosition(newPosition);
180
+ scrollBridge.setParentDragging(newPosition > minY);
181
+ } else {
182
+ var _scrollBridge_setScrollEnabled1;
183
+ scrollBridge.lockScrollAtTop = false;
184
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
185
+ scrollBridge.setParentDragging(false);
186
+ }
187
+ }).onEnd(function(event) {
188
+ var { velocityY } = event;
189
+ var currentPos = gs.startY + gs.accumulatedOffset;
190
+ var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
191
+ scrollBridge.lockScrollAtTop = false;
192
+ scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
193
+ gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
194
+ var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
195
+ var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
196
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
197
+ onEnd(0, void 0, keepScrollLockedAfterEnd);
198
+ return;
199
+ }
200
+ var velocity = velocityY / 1e3;
201
+ var projectedEnd = currentPos + frameSize * velocity * .2;
202
+ var releaseConfig = releaseConfigRef.current;
203
+ var closestPoint = getSheetReleasePosition({
204
+ positions: snapPositions,
205
+ projectedEnd,
206
+ currentPosition: currentPos,
207
+ frameSize,
208
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
209
+ snapPointsMode: releaseConfig.snapPointsMode,
210
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
211
+ isWeb
212
+ });
213
+ onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
214
+ }).onFinalize(function() {
215
+ scrollBridge.lockScrollAtTop = false;
216
+ scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
217
+ if (gs.panStarted) {
218
+ setIsDragging(false);
219
+ } else {
220
+ if (config.pauseKeyboardHandler) {
221
+ config.pauseKeyboardHandler.current = false;
222
+ }
223
+ }
224
+ }).runOnJS(true);
225
+ if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
226
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
227
+ }
228
+ return gesture;
229
+ }, [
230
+ gestureHandlerEnabled,
231
+ disableDrag,
232
+ isShowingInnerSheet,
233
+ frameSize,
234
+ positions,
235
+ scrollBridge,
236
+ getCurrentPosition,
237
+ resisted,
238
+ onStart,
239
+ onEnd,
240
+ setIsDragging,
241
+ setAnimatedPosition
242
+ ]);
243
+ return {
244
+ panGesture,
245
+ panGestureRef,
246
+ gestureHandlerEnabled
247
+ };
256
248
  }
249
+
257
250
  export { useGestureHandlerPan };
258
251
  //# sourceMappingURL=useGestureHandlerPan.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","useCallback","useEffect","useMemo","useRef","getGestureHandlerState","isGestureHandlerEnabled","getSheetReleasePosition","AT_TOP_THRESHOLD","SCROLL_HANDOFF_THRESHOLD","useGestureHandlerPan","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","panGestureRef","_config_snapPointsMode","releaseConfigRef","dismissOnSnapToBottom","snapPointsMode","isKeyboardVisible","_config_snapPointsMode1","current","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","frozenIsKeyboardVisible","panStarted","startedBelowTop","upwardDragAfterTop","scrollUnlockedAfterTop","keepScrollLockedAfterEnd","unlockScrollTimer","clearTimeout","onStart","onEnd","closestPoint","animationOverride","keepScrollLocked","arguments","length","setParentDragging","lockScrollAtTop","_scrollBridge_setScrollEnabled","setScrollEnabled","call","setTimeout","_scrollBridge_setScrollEnabled2","_scrollBridge_setScrollEnabled1","panGesture","Gesture","minY","gs","gesture","Pan","withRef","activeOffsetY","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","Math","max","lockTo","newPosition","paneY","velocityY","scrollLockY","snapPositions","snapMinY","velocity","projectedEnd","releaseConfig","currentPosition","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useGestureHandlerPan.native.js","names":[],"sources":["esm/useGestureHandlerPan.native.js"],"sourcesContent":["import { isWeb } from \"@tamagui/constants\";\nimport { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { getSheetReleasePosition } from \"./keyboardAvoidance\";\nvar AT_TOP_THRESHOLD = 5;\nvar SCROLL_HANDOFF_THRESHOLD = 160;\nfunction useGestureHandlerPan(config) {\n var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;\n var gestureHandlerEnabled = isGestureHandlerEnabled();\n var panGestureRef = useRef(null);\n var _config_snapPointsMode;\n var releaseConfigRef = useRef({\n dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,\n snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : \"percent\",\n isKeyboardVisible: config.isKeyboardVisible === true\n });\n var _config_snapPointsMode1;\n releaseConfigRef.current = {\n dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,\n snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : \"percent\",\n isKeyboardVisible: config.isKeyboardVisible === true\n };\n var gestureStateRef = useRef({\n startY: 0,\n // track last translation when pan was active (for position calculation after handoff)\n lastPanTranslationY: 0,\n // accumulated position offset from all pan movements\n accumulatedOffset: 0,\n // track previous translation for direction detection (like actions-sheet)\n prevTranslationY: 0,\n // track if scroll was engaged (scrollY > 0) at some point\n scrollEngaged: false,\n // positions frozen at gesture start — keyboard may dismiss during drag (input blur),\n // causing positions to revert. Frozen positions ensure stable snap calculation.\n frozenPositions: [],\n frozenMinY: 0,\n frozenIsKeyboardVisible: false,\n // whether pan gesture actually started (vs just a tap in onBegin)\n panStarted: false,\n startedBelowTop: false,\n upwardDragAfterTop: 0,\n scrollUnlockedAfterTop: false,\n keepScrollLockedAfterEnd: false\n });\n var unlockScrollTimer = useRef(null);\n useEffect(function() {\n return function() {\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n };\n }, []);\n var onStart = useCallback(function() {\n stopSpring();\n }, [\n stopSpring\n ]);\n var onEnd = useCallback(function(closestPoint, animationOverride) {\n var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n setIsDragging(false);\n scrollBridge.setParentDragging(false);\n scrollBridge.lockScrollAtTop = false;\n if (keepScrollLocked) {\n var _scrollBridge_setScrollEnabled;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);\n unlockScrollTimer.current = setTimeout(function() {\n var _scrollBridge_setScrollEnabled2;\n unlockScrollTimer.current = null;\n (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);\n }, 160);\n } else {\n var _scrollBridge_setScrollEnabled1;\n (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);\n }\n setPosition(closestPoint);\n animateTo(closestPoint, animationOverride);\n }, [\n setIsDragging,\n scrollBridge,\n setPosition,\n animateTo\n ]);\n var panGesture = useMemo(function() {\n if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {\n return null;\n }\n var { Gesture } = getGestureHandlerState();\n if (!Gesture) {\n return null;\n }\n var minY = positions[0];\n var gs = gestureStateRef.current;\n var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([\n -10,\n 10\n ]).failOffsetX([\n -20,\n 20\n ]).shouldCancelWhenOutside(false).onBegin(function() {\n gs.panStarted = false;\n if (config.pauseKeyboardHandler) {\n config.pauseKeyboardHandler.current = true;\n }\n var pos = getCurrentPosition();\n var atTop = pos <= minY + AT_TOP_THRESHOLD;\n var currentScrollY = scrollBridge.y;\n gs.startY = pos;\n gs.lastPanTranslationY = 0;\n gs.accumulatedOffset = 0;\n gs.prevTranslationY = 0;\n gs.scrollEngaged = currentScrollY > 0;\n gs.frozenPositions = [\n ...positions\n ];\n gs.frozenMinY = minY;\n gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;\n gs.startedBelowTop = !atTop;\n gs.upwardDragAfterTop = 0;\n gs.scrollUnlockedAfterTop = false;\n gs.keepScrollLockedAfterEnd = false;\n scrollBridge.lockScrollAtTop = false;\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n if (!atTop) {\n var _scrollBridge_setScrollEnabled;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);\n }\n }).onStart(function() {\n gs.panStarted = true;\n setIsDragging(true);\n scrollBridge.initialPosition = gs.startY;\n onStart();\n }).onChange(function(event) {\n var { translationY } = event;\n var isSwipingDown = gs.prevTranslationY < translationY;\n var deltaY = translationY - gs.prevTranslationY;\n gs.prevTranslationY = translationY;\n var scrollY = scrollBridge.y;\n if (scrollY > 0) {\n gs.scrollEngaged = true;\n }\n var currentPos = gs.startY + gs.accumulatedOffset;\n var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;\n var nodeIsScrolling = scrollY > 0;\n var panHandles = false;\n var hasScrollableContent = scrollBridge.hasScrollableContent !== false;\n if (!isCurrentlyAtTop) {\n if (isSwipingDown) {\n panHandles = !nodeIsScrolling || !hasScrollableContent;\n } else {\n panHandles = true;\n }\n } else {\n if (isSwipingDown) {\n if (nodeIsScrolling && hasScrollableContent) {\n panHandles = false;\n } else if (gs.scrollEngaged && hasScrollableContent) {\n panHandles = true;\n } else {\n panHandles = true;\n }\n } else {\n if (hasScrollableContent) {\n if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {\n gs.upwardDragAfterTop += Math.max(0, -deltaY);\n if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {\n gs.scrollUnlockedAfterTop = true;\n panHandles = false;\n } else {\n panHandles = true;\n }\n } else {\n panHandles = false;\n }\n } else {\n panHandles = true;\n }\n }\n }\n if (panHandles) {\n var _scrollBridge_setScrollEnabled;\n scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;\n var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);\n gs.accumulatedOffset += deltaY;\n var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);\n scrollBridge.paneY = newPosition;\n setAnimatedPosition(newPosition);\n scrollBridge.setParentDragging(newPosition > minY);\n } else {\n var _scrollBridge_setScrollEnabled1;\n scrollBridge.lockScrollAtTop = false;\n (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);\n scrollBridge.setParentDragging(false);\n }\n }).onEnd(function(event) {\n var { velocityY } = event;\n var currentPos = gs.startY + gs.accumulatedOffset;\n var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;\n scrollBridge.lockScrollAtTop = false;\n scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;\n gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;\n var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;\n var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;\n if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {\n onEnd(0, void 0, keepScrollLockedAfterEnd);\n return;\n }\n var velocity = velocityY / 1e3;\n var projectedEnd = currentPos + frameSize * velocity * 0.2;\n var releaseConfig = releaseConfigRef.current;\n var closestPoint = getSheetReleasePosition({\n positions: snapPositions,\n projectedEnd,\n currentPosition: currentPos,\n frameSize,\n dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,\n snapPointsMode: releaseConfig.snapPointsMode,\n isKeyboardVisible: gs.frozenIsKeyboardVisible,\n isWeb\n });\n onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);\n }).onFinalize(function() {\n scrollBridge.lockScrollAtTop = false;\n scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;\n if (gs.panStarted) {\n setIsDragging(false);\n } else {\n if (config.pauseKeyboardHandler) {\n config.pauseKeyboardHandler.current = false;\n }\n }\n }).runOnJS(true);\n if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {\n return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);\n }\n return gesture;\n }, [\n gestureHandlerEnabled,\n disableDrag,\n isShowingInnerSheet,\n frameSize,\n positions,\n scrollBridge,\n getCurrentPosition,\n resisted,\n onStart,\n onEnd,\n setIsDragging,\n setAnimatedPosition\n ]);\n return {\n panGesture,\n panGestureRef,\n gestureHandlerEnabled\n };\n}\nexport {\n useGestureHandlerPan\n};\n//# sourceMappingURL=useGestureHandlerPan.js.map\n"],"mappings":"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"}