@tamagui/sheet 2.7.7 → 3.0.0-beta.643.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
@@ -1,31 +1,28 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var useGestureHandlerPan_exports = {};
26
- __export(useGestureHandlerPan_exports, {
27
- useGestureHandlerPan: () => useGestureHandlerPan
28
- });
25
+ __export(useGestureHandlerPan_exports, { useGestureHandlerPan: () => useGestureHandlerPan });
29
26
  module.exports = __toCommonJS(useGestureHandlerPan_exports);
30
27
  var import_constants = require("@tamagui/constants");
31
28
  var import_react = require("react");
@@ -34,253 +31,245 @@ var import_keyboardAvoidance = require("./keyboardAvoidance.native.js");
34
31
  var AT_TOP_THRESHOLD = 5;
35
32
  var SCROLL_HANDOFF_THRESHOLD = 160;
36
33
  function useGestureHandlerPan(config) {
37
- var {
38
- positions,
39
- frameSize,
40
- setPosition,
41
- animateTo,
42
- stopSpring,
43
- scrollBridge,
44
- setIsDragging,
45
- getCurrentPosition,
46
- resisted,
47
- disableDrag,
48
- isShowingInnerSheet,
49
- setAnimatedPosition,
50
- scrollGestureRef
51
- } = config;
52
- var gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
53
- var panGestureRef = (0, import_react.useRef)(null);
54
- var _config_snapPointsMode;
55
- var releaseConfigRef = (0, import_react.useRef)({
56
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
57
- snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
58
- isKeyboardVisible: config.isKeyboardVisible === true
59
- });
60
- var _config_snapPointsMode1;
61
- releaseConfigRef.current = {
62
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
63
- snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
64
- isKeyboardVisible: config.isKeyboardVisible === true
65
- };
66
- var gestureStateRef = (0, import_react.useRef)({
67
- startY: 0,
68
- // track last translation when pan was active (for position calculation after handoff)
69
- lastPanTranslationY: 0,
70
- // accumulated position offset from all pan movements
71
- accumulatedOffset: 0,
72
- // track previous translation for direction detection (like actions-sheet)
73
- prevTranslationY: 0,
74
- // track if scroll was engaged (scrollY > 0) at some point
75
- scrollEngaged: false,
76
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
77
- // causing positions to revert. Frozen positions ensure stable snap calculation.
78
- frozenPositions: [],
79
- frozenMinY: 0,
80
- frozenIsKeyboardVisible: false,
81
- // whether pan gesture actually started (vs just a tap in onBegin)
82
- panStarted: false,
83
- startedBelowTop: false,
84
- upwardDragAfterTop: 0,
85
- scrollUnlockedAfterTop: false,
86
- keepScrollLockedAfterEnd: false
87
- });
88
- var unlockScrollTimer = (0, import_react.useRef)(null);
89
- (0, import_react.useEffect)(function () {
90
- return function () {
91
- if (unlockScrollTimer.current) {
92
- clearTimeout(unlockScrollTimer.current);
93
- unlockScrollTimer.current = null;
94
- }
95
- };
96
- }, []);
97
- var onStart = (0, import_react.useCallback)(function () {
98
- stopSpring();
99
- }, [stopSpring]);
100
- var onEnd = (0, import_react.useCallback)(function (closestPoint, animationOverride) {
101
- var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
102
- if (unlockScrollTimer.current) {
103
- clearTimeout(unlockScrollTimer.current);
104
- unlockScrollTimer.current = null;
105
- }
106
- setIsDragging(false);
107
- scrollBridge.setParentDragging(false);
108
- scrollBridge.lockScrollAtTop = false;
109
- if (keepScrollLocked) {
110
- var _scrollBridge_setScrollEnabled;
111
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
112
- unlockScrollTimer.current = setTimeout(function () {
113
- var _scrollBridge_setScrollEnabled2;
114
- unlockScrollTimer.current = null;
115
- (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
116
- }, 160);
117
- } else {
118
- var _scrollBridge_setScrollEnabled1;
119
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
120
- }
121
- setPosition(closestPoint);
122
- animateTo(closestPoint, animationOverride);
123
- }, [setIsDragging, scrollBridge, setPosition, animateTo]);
124
- var panGesture = (0, import_react.useMemo)(function () {
125
- if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
126
- return null;
127
- }
128
- var {
129
- Gesture
130
- } = (0, import_gestureState.getGestureHandlerState)();
131
- if (!Gesture) {
132
- return null;
133
- }
134
- var minY = positions[0];
135
- var gs = gestureStateRef.current;
136
- var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function () {
137
- gs.panStarted = false;
138
- if (config.pauseKeyboardHandler) {
139
- config.pauseKeyboardHandler.current = true;
140
- }
141
- var pos = getCurrentPosition();
142
- var atTop = pos <= minY + AT_TOP_THRESHOLD;
143
- var currentScrollY = scrollBridge.y;
144
- gs.startY = pos;
145
- gs.lastPanTranslationY = 0;
146
- gs.accumulatedOffset = 0;
147
- gs.prevTranslationY = 0;
148
- gs.scrollEngaged = currentScrollY > 0;
149
- gs.frozenPositions = [...positions];
150
- gs.frozenMinY = minY;
151
- gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
152
- gs.startedBelowTop = !atTop;
153
- gs.upwardDragAfterTop = 0;
154
- gs.scrollUnlockedAfterTop = false;
155
- gs.keepScrollLockedAfterEnd = false;
156
- scrollBridge.lockScrollAtTop = false;
157
- if (unlockScrollTimer.current) {
158
- clearTimeout(unlockScrollTimer.current);
159
- unlockScrollTimer.current = null;
160
- }
161
- if (!atTop) {
162
- var _scrollBridge_setScrollEnabled;
163
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
164
- }
165
- }).onStart(function () {
166
- gs.panStarted = true;
167
- setIsDragging(true);
168
- scrollBridge.initialPosition = gs.startY;
169
- onStart();
170
- }).onChange(function (event) {
171
- var {
172
- translationY
173
- } = event;
174
- var isSwipingDown = gs.prevTranslationY < translationY;
175
- var deltaY = translationY - gs.prevTranslationY;
176
- gs.prevTranslationY = translationY;
177
- var scrollY = scrollBridge.y;
178
- if (scrollY > 0) {
179
- gs.scrollEngaged = true;
180
- }
181
- var currentPos = gs.startY + gs.accumulatedOffset;
182
- var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
183
- var nodeIsScrolling = scrollY > 0;
184
- var panHandles = false;
185
- var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
186
- if (!isCurrentlyAtTop) {
187
- if (isSwipingDown) {
188
- panHandles = !nodeIsScrolling || !hasScrollableContent;
189
- } else {
190
- panHandles = true;
191
- }
192
- } else {
193
- if (isSwipingDown) {
194
- if (nodeIsScrolling && hasScrollableContent) {
195
- panHandles = false;
196
- } else if (gs.scrollEngaged && hasScrollableContent) {
197
- panHandles = true;
198
- } else {
199
- panHandles = true;
200
- }
201
- } else {
202
- if (hasScrollableContent) {
203
- if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
204
- gs.upwardDragAfterTop += Math.max(0, -deltaY);
205
- if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
206
- gs.scrollUnlockedAfterTop = true;
207
- panHandles = false;
208
- } else {
209
- panHandles = true;
210
- }
211
- } else {
212
- panHandles = false;
213
- }
214
- } else {
215
- panHandles = true;
216
- }
217
- }
218
- }
219
- if (panHandles) {
220
- var _scrollBridge_setScrollEnabled;
221
- scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
222
- var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
223
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
224
- gs.accumulatedOffset += deltaY;
225
- var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
226
- scrollBridge.paneY = newPosition;
227
- setAnimatedPosition(newPosition);
228
- scrollBridge.setParentDragging(newPosition > minY);
229
- } else {
230
- var _scrollBridge_setScrollEnabled1;
231
- scrollBridge.lockScrollAtTop = false;
232
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
233
- scrollBridge.setParentDragging(false);
234
- }
235
- }).onEnd(function (event) {
236
- var {
237
- velocityY
238
- } = event;
239
- var currentPos = gs.startY + gs.accumulatedOffset;
240
- var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
241
- scrollBridge.lockScrollAtTop = false;
242
- scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
243
- gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
244
- var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
245
- var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
246
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
247
- onEnd(0, void 0, keepScrollLockedAfterEnd);
248
- return;
249
- }
250
- var velocity = velocityY / 1e3;
251
- var projectedEnd = currentPos + frameSize * velocity * 0.2;
252
- var releaseConfig = releaseConfigRef.current;
253
- var closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
254
- positions: snapPositions,
255
- projectedEnd,
256
- currentPosition: currentPos,
257
- frameSize,
258
- dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
259
- snapPointsMode: releaseConfig.snapPointsMode,
260
- isKeyboardVisible: gs.frozenIsKeyboardVisible,
261
- isWeb: import_constants.isWeb
262
- });
263
- onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
264
- }).onFinalize(function () {
265
- scrollBridge.lockScrollAtTop = false;
266
- scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
267
- if (gs.panStarted) {
268
- setIsDragging(false);
269
- } else {
270
- if (config.pauseKeyboardHandler) {
271
- config.pauseKeyboardHandler.current = false;
272
- }
273
- }
274
- }).runOnJS(true);
275
- if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
276
- return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
277
- }
278
- return gesture;
279
- }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
280
- return {
281
- panGesture,
282
- panGestureRef,
283
- gestureHandlerEnabled
284
- };
34
+ var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;
35
+ var gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
36
+ var panGestureRef = (0, import_react.useRef)(null);
37
+ var _config_snapPointsMode;
38
+ var releaseConfigRef = (0, import_react.useRef)({
39
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
40
+ snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
41
+ isKeyboardVisible: config.isKeyboardVisible === true
42
+ });
43
+ var _config_snapPointsMode1;
44
+ releaseConfigRef.current = {
45
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
46
+ snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
47
+ isKeyboardVisible: config.isKeyboardVisible === true
48
+ };
49
+ var gestureStateRef = (0, import_react.useRef)({
50
+ startY: 0,
51
+ lastPanTranslationY: 0,
52
+ accumulatedOffset: 0,
53
+ prevTranslationY: 0,
54
+ scrollEngaged: false,
55
+ frozenPositions: [],
56
+ frozenMinY: 0,
57
+ frozenIsKeyboardVisible: false,
58
+ panStarted: false,
59
+ startedBelowTop: false,
60
+ upwardDragAfterTop: 0,
61
+ scrollUnlockedAfterTop: false,
62
+ keepScrollLockedAfterEnd: false
63
+ });
64
+ var unlockScrollTimer = (0, import_react.useRef)(null);
65
+ (0, import_react.useEffect)(function() {
66
+ return function() {
67
+ if (unlockScrollTimer.current) {
68
+ clearTimeout(unlockScrollTimer.current);
69
+ unlockScrollTimer.current = null;
70
+ }
71
+ };
72
+ }, []);
73
+ var onStart = (0, import_react.useCallback)(function() {
74
+ stopSpring();
75
+ }, [stopSpring]);
76
+ var onEnd = (0, import_react.useCallback)(function(closestPoint, animationOverride) {
77
+ var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
78
+ if (unlockScrollTimer.current) {
79
+ clearTimeout(unlockScrollTimer.current);
80
+ unlockScrollTimer.current = null;
81
+ }
82
+ setIsDragging(false);
83
+ scrollBridge.setParentDragging(false);
84
+ scrollBridge.lockScrollAtTop = false;
85
+ if (keepScrollLocked) {
86
+ var _scrollBridge_setScrollEnabled;
87
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
88
+ unlockScrollTimer.current = setTimeout(function() {
89
+ var _scrollBridge_setScrollEnabled2;
90
+ unlockScrollTimer.current = null;
91
+ (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
92
+ }, 160);
93
+ } else {
94
+ var _scrollBridge_setScrollEnabled1;
95
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
96
+ }
97
+ setPosition(closestPoint);
98
+ animateTo(closestPoint, animationOverride);
99
+ }, [
100
+ setIsDragging,
101
+ scrollBridge,
102
+ setPosition,
103
+ animateTo
104
+ ]);
105
+ var panGesture = (0, import_react.useMemo)(function() {
106
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
107
+ return null;
108
+ }
109
+ var { Gesture } = (0, import_gestureState.getGestureHandlerState)();
110
+ if (!Gesture) {
111
+ return null;
112
+ }
113
+ var minY = positions[0];
114
+ var gs = gestureStateRef.current;
115
+ var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function() {
116
+ gs.panStarted = false;
117
+ if (config.pauseKeyboardHandler) {
118
+ config.pauseKeyboardHandler.current = true;
119
+ }
120
+ var pos = getCurrentPosition();
121
+ var atTop = pos <= minY + AT_TOP_THRESHOLD;
122
+ var currentScrollY = scrollBridge.y;
123
+ gs.startY = pos;
124
+ gs.lastPanTranslationY = 0;
125
+ gs.accumulatedOffset = 0;
126
+ gs.prevTranslationY = 0;
127
+ gs.scrollEngaged = currentScrollY > 0;
128
+ gs.frozenPositions = [...positions];
129
+ gs.frozenMinY = minY;
130
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
131
+ gs.startedBelowTop = !atTop;
132
+ gs.upwardDragAfterTop = 0;
133
+ gs.scrollUnlockedAfterTop = false;
134
+ gs.keepScrollLockedAfterEnd = false;
135
+ scrollBridge.lockScrollAtTop = false;
136
+ if (unlockScrollTimer.current) {
137
+ clearTimeout(unlockScrollTimer.current);
138
+ unlockScrollTimer.current = null;
139
+ }
140
+ if (!atTop) {
141
+ var _scrollBridge_setScrollEnabled;
142
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
143
+ }
144
+ }).onStart(function() {
145
+ gs.panStarted = true;
146
+ setIsDragging(true);
147
+ scrollBridge.initialPosition = gs.startY;
148
+ onStart();
149
+ }).onChange(function(event) {
150
+ var { translationY } = event;
151
+ var isSwipingDown = gs.prevTranslationY < translationY;
152
+ var deltaY = translationY - gs.prevTranslationY;
153
+ gs.prevTranslationY = translationY;
154
+ var scrollY = scrollBridge.y;
155
+ if (scrollY > 0) {
156
+ gs.scrollEngaged = true;
157
+ }
158
+ var currentPos = gs.startY + gs.accumulatedOffset;
159
+ var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
160
+ var nodeIsScrolling = scrollY > 0;
161
+ var panHandles = false;
162
+ var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
163
+ if (!isCurrentlyAtTop) {
164
+ if (isSwipingDown) {
165
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
166
+ } else {
167
+ panHandles = true;
168
+ }
169
+ } else {
170
+ if (isSwipingDown) {
171
+ if (nodeIsScrolling && hasScrollableContent) {
172
+ panHandles = false;
173
+ } else if (gs.scrollEngaged && hasScrollableContent) {
174
+ panHandles = true;
175
+ } else {
176
+ panHandles = true;
177
+ }
178
+ } else {
179
+ if (hasScrollableContent) {
180
+ if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
181
+ gs.upwardDragAfterTop += Math.max(0, -deltaY);
182
+ if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
183
+ gs.scrollUnlockedAfterTop = true;
184
+ panHandles = false;
185
+ } else {
186
+ panHandles = true;
187
+ }
188
+ } else {
189
+ panHandles = false;
190
+ }
191
+ } else {
192
+ panHandles = true;
193
+ }
194
+ }
195
+ }
196
+ if (panHandles) {
197
+ var _scrollBridge_setScrollEnabled;
198
+ scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
199
+ var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
200
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
201
+ gs.accumulatedOffset += deltaY;
202
+ var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
203
+ scrollBridge.paneY = newPosition;
204
+ setAnimatedPosition(newPosition);
205
+ scrollBridge.setParentDragging(newPosition > minY);
206
+ } else {
207
+ var _scrollBridge_setScrollEnabled1;
208
+ scrollBridge.lockScrollAtTop = false;
209
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
210
+ scrollBridge.setParentDragging(false);
211
+ }
212
+ }).onEnd(function(event) {
213
+ var { velocityY } = event;
214
+ var currentPos = gs.startY + gs.accumulatedOffset;
215
+ var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
216
+ scrollBridge.lockScrollAtTop = false;
217
+ scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
218
+ gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
219
+ var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
220
+ var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
221
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
222
+ onEnd(0, void 0, keepScrollLockedAfterEnd);
223
+ return;
224
+ }
225
+ var velocity = velocityY / 1e3;
226
+ var projectedEnd = currentPos + frameSize * velocity * .2;
227
+ var releaseConfig = releaseConfigRef.current;
228
+ var closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
229
+ positions: snapPositions,
230
+ projectedEnd,
231
+ currentPosition: currentPos,
232
+ frameSize,
233
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
234
+ snapPointsMode: releaseConfig.snapPointsMode,
235
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
236
+ isWeb: import_constants.isWeb
237
+ });
238
+ onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
239
+ }).onFinalize(function() {
240
+ scrollBridge.lockScrollAtTop = false;
241
+ scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
242
+ if (gs.panStarted) {
243
+ setIsDragging(false);
244
+ } else {
245
+ if (config.pauseKeyboardHandler) {
246
+ config.pauseKeyboardHandler.current = false;
247
+ }
248
+ }
249
+ }).runOnJS(true);
250
+ if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
251
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
252
+ }
253
+ return gesture;
254
+ }, [
255
+ gestureHandlerEnabled,
256
+ disableDrag,
257
+ isShowingInnerSheet,
258
+ frameSize,
259
+ positions,
260
+ scrollBridge,
261
+ getCurrentPosition,
262
+ resisted,
263
+ onStart,
264
+ onEnd,
265
+ setIsDragging,
266
+ setAnimatedPosition
267
+ ]);
268
+ return {
269
+ panGesture,
270
+ panGestureRef,
271
+ gestureHandlerEnabled
272
+ };
285
273
  }
274
+
286
275
  //# sourceMappingURL=useGestureHandlerPan.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useGestureHandlerPan_exports","useGestureHandlerPan","module","exports","import_constants","require","import_react","import_gestureState","import_keyboardAvoidance","AT_TOP_THRESHOLD","SCROLL_HANDOFF_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","_config_snapPointsMode","releaseConfigRef","dismissOnSnapToBottom","snapPointsMode","isKeyboardVisible","_config_snapPointsMode1","current","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","frozenIsKeyboardVisible","panStarted","startedBelowTop","upwardDragAfterTop","scrollUnlockedAfterTop","keepScrollLockedAfterEnd","unlockScrollTimer","useEffect","clearTimeout","onStart","useCallback","onEnd","closestPoint","animationOverride","keepScrollLocked","arguments","length","setParentDragging","lockScrollAtTop","_scrollBridge_setScrollEnabled","setScrollEnabled","setTimeout","_scrollBridge_setScrollEnabled2","_scrollBridge_setScrollEnabled1","panGesture","useMemo","Gesture","getGestureHandlerState","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","getSheetReleasePosition","currentPosition","isWeb","onFinalize"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useGestureHandlerPan.native.js","names":[],"sources":["jsx/useGestureHandlerPan.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useGestureHandlerPan_exports = {};\n__export(useGestureHandlerPan_exports, {\n useGestureHandlerPan: () => useGestureHandlerPan\n});\nmodule.exports = __toCommonJS(useGestureHandlerPan_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = require(\"react\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_keyboardAvoidance = require(\"./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 = (0, import_gestureState.isGestureHandlerEnabled)();\n var panGestureRef = (0, import_react.useRef)(null);\n var _config_snapPointsMode;\n var releaseConfigRef = (0, import_react.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 = (0, import_react.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 = (0, import_react.useRef)(null);\n (0, import_react.useEffect)(function() {\n return function() {\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n };\n }, []);\n var onStart = (0, import_react.useCallback)(function() {\n stopSpring();\n }, [\n stopSpring\n ]);\n var onEnd = (0, import_react.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 = (0, import_react.useMemo)(function() {\n if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {\n return null;\n }\n var { Gesture } = (0, import_gestureState.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 = (0, import_keyboardAvoidance.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: import_constants.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}\n//# sourceMappingURL=useGestureHandlerPan.js.map\n"],"mappings":"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"}