@hanzogui/sheet 8.3.1 → 8.3.2

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 (559) hide show
  1. package/dist/cjs/GestureDetectorWrapper.js +23 -0
  2. package/dist/cjs/GestureDetectorWrapper.js.map +1 -0
  3. package/dist/cjs/GestureSheetContext.js +21 -0
  4. package/dist/cjs/GestureSheetContext.js.map +1 -0
  5. package/dist/cjs/Sheet.js +102 -0
  6. package/dist/cjs/Sheet.js.map +1 -0
  7. package/dist/cjs/SheetContext.js +8 -0
  8. package/dist/cjs/SheetContext.js.map +1 -0
  9. package/dist/cjs/SheetController.js +33 -0
  10. package/dist/cjs/SheetController.js.map +1 -0
  11. package/dist/cjs/SheetImplementationCustom.js +866 -0
  12. package/dist/cjs/SheetImplementationCustom.js.map +1 -0
  13. package/dist/cjs/SheetScrollView.js +278 -0
  14. package/dist/cjs/SheetScrollView.js.map +1 -0
  15. package/dist/cjs/constants.js +8 -0
  16. package/dist/cjs/constants.js.map +1 -0
  17. package/dist/cjs/contexts.js +10 -0
  18. package/dist/cjs/contexts.js.map +1 -0
  19. package/dist/cjs/controller.js +11 -0
  20. package/dist/cjs/controller.js.map +1 -0
  21. package/dist/cjs/createSheet.js +153 -0
  22. package/dist/cjs/createSheet.js.map +1 -0
  23. package/dist/cjs/gestureState.js +35 -0
  24. package/dist/cjs/gestureState.js.map +1 -0
  25. package/dist/cjs/helpers.js +29 -0
  26. package/dist/cjs/helpers.js.map +1 -0
  27. package/dist/cjs/index.js +19 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/keyboardAvoidance.js +67 -0
  30. package/dist/cjs/keyboardAvoidance.js.map +1 -0
  31. package/dist/cjs/nativeSheet.js +52 -0
  32. package/dist/cjs/nativeSheet.js.map +1 -0
  33. package/dist/cjs/package.json +1 -0
  34. package/dist/cjs/setupGestureHandler.js +31 -0
  35. package/dist/cjs/setupGestureHandler.js.map +1 -0
  36. package/dist/cjs/types.js +3 -0
  37. package/dist/cjs/types.js.map +1 -0
  38. package/dist/cjs/useGestureHandlerPan.js +356 -0
  39. package/dist/cjs/useGestureHandlerPan.js.map +1 -0
  40. package/dist/cjs/useKeyboardControllerSheet.js +124 -0
  41. package/dist/cjs/useKeyboardControllerSheet.js.map +1 -0
  42. package/dist/cjs/useSafeAreaInsets.js +16 -0
  43. package/dist/cjs/useSafeAreaInsets.js.map +1 -0
  44. package/dist/cjs/useSheet.js +7 -0
  45. package/dist/cjs/useSheet.js.map +1 -0
  46. package/dist/cjs/useSheetController.js +19 -0
  47. package/dist/cjs/useSheetController.js.map +1 -0
  48. package/dist/cjs/useSheetOffscreenSize.js +40 -0
  49. package/dist/cjs/useSheetOffscreenSize.js.map +1 -0
  50. package/dist/cjs/useSheetOpenState.js +29 -0
  51. package/dist/cjs/useSheetOpenState.js.map +1 -0
  52. package/dist/cjs/useSheetProviderProps.js +169 -0
  53. package/dist/cjs/useSheetProviderProps.js.map +1 -0
  54. package/dist/cjs/useSheetScrollViewGestures.js +195 -0
  55. package/dist/cjs/useSheetScrollViewGestures.js.map +1 -0
  56. package/dist/cjs/webViewport.js +108 -0
  57. package/dist/cjs/webViewport.js.map +1 -0
  58. package/dist/esm/GestureDetectorWrapper.js +20 -0
  59. package/dist/esm/GestureDetectorWrapper.js.map +1 -0
  60. package/dist/esm/GestureSheetContext.js +17 -0
  61. package/dist/esm/GestureSheetContext.js.map +1 -0
  62. package/dist/esm/Sheet.js +97 -0
  63. package/dist/esm/Sheet.js.map +1 -0
  64. package/dist/esm/SheetContext.js +5 -0
  65. package/dist/esm/SheetContext.js.map +1 -0
  66. package/dist/esm/SheetController.js +28 -0
  67. package/dist/esm/SheetController.js.map +1 -0
  68. package/dist/esm/SheetImplementationCustom.js +862 -0
  69. package/dist/esm/SheetImplementationCustom.js.map +1 -0
  70. package/dist/esm/SheetScrollView.js +274 -0
  71. package/dist/esm/SheetScrollView.js.map +1 -0
  72. package/dist/esm/constants.js +5 -0
  73. package/dist/esm/constants.js.map +1 -0
  74. package/dist/esm/contexts.js +6 -0
  75. package/dist/esm/contexts.js.map +1 -0
  76. package/dist/esm/controller.js +5 -0
  77. package/dist/esm/controller.js.map +1 -0
  78. package/dist/esm/createSheet.js +150 -0
  79. package/dist/esm/createSheet.js.map +1 -0
  80. package/dist/esm/gestureState.js +29 -0
  81. package/dist/esm/gestureState.js.map +1 -0
  82. package/dist/esm/helpers.js +26 -0
  83. package/dist/esm/helpers.js.map +1 -0
  84. package/dist/esm/index.js +13 -14
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/keyboardAvoidance.js +62 -0
  87. package/dist/esm/keyboardAvoidance.js.map +1 -0
  88. package/dist/esm/nativeSheet.js +48 -0
  89. package/dist/esm/nativeSheet.js.map +1 -0
  90. package/dist/esm/setupGestureHandler.js +27 -0
  91. package/dist/esm/setupGestureHandler.js.map +1 -0
  92. package/dist/esm/types.js +2 -0
  93. package/dist/esm/types.js.map +1 -0
  94. package/dist/esm/useGestureHandlerPan.js +353 -0
  95. package/dist/esm/useGestureHandlerPan.js.map +1 -0
  96. package/dist/esm/useKeyboardControllerSheet.js +121 -0
  97. package/dist/esm/useKeyboardControllerSheet.js.map +1 -0
  98. package/dist/esm/useSafeAreaInsets.js +11 -0
  99. package/dist/esm/useSafeAreaInsets.js.map +1 -0
  100. package/dist/esm/useSheet.js +3 -0
  101. package/dist/esm/useSheet.js.map +1 -0
  102. package/dist/esm/useSheetController.js +14 -0
  103. package/dist/esm/useSheetController.js.map +1 -0
  104. package/dist/esm/useSheetOffscreenSize.js +36 -0
  105. package/dist/esm/useSheetOffscreenSize.js.map +1 -0
  106. package/dist/esm/useSheetOpenState.js +25 -0
  107. package/dist/esm/useSheetOpenState.js.map +1 -0
  108. package/dist/esm/useSheetProviderProps.js +165 -0
  109. package/dist/esm/useSheetProviderProps.js.map +1 -0
  110. package/dist/esm/useSheetScrollViewGestures.js +192 -0
  111. package/dist/esm/useSheetScrollViewGestures.js.map +1 -0
  112. package/dist/esm/webViewport.js +98 -0
  113. package/dist/esm/webViewport.js.map +1 -0
  114. package/dist/native/GestureDetectorWrapper.js +20 -0
  115. package/dist/native/GestureDetectorWrapper.js.map +1 -0
  116. package/dist/native/GestureSheetContext.js +17 -0
  117. package/dist/native/GestureSheetContext.js.map +1 -0
  118. package/dist/native/Sheet.js +97 -0
  119. package/dist/native/Sheet.js.map +1 -0
  120. package/dist/native/SheetContext.js +5 -0
  121. package/dist/native/SheetContext.js.map +1 -0
  122. package/dist/native/SheetController.js +28 -0
  123. package/dist/native/SheetController.js.map +1 -0
  124. package/dist/native/SheetImplementationCustom.js +862 -0
  125. package/dist/native/SheetImplementationCustom.js.map +1 -0
  126. package/dist/native/SheetScrollView.js +274 -0
  127. package/dist/native/SheetScrollView.js.map +1 -0
  128. package/dist/native/constants.js +5 -0
  129. package/dist/native/constants.js.map +1 -0
  130. package/dist/native/contexts.js +6 -0
  131. package/dist/native/contexts.js.map +1 -0
  132. package/dist/native/controller.js +5 -0
  133. package/dist/native/controller.js.map +1 -0
  134. package/dist/native/createSheet.js +150 -0
  135. package/dist/native/createSheet.js.map +1 -0
  136. package/dist/native/gestureState.js +29 -0
  137. package/dist/native/gestureState.js.map +1 -0
  138. package/dist/native/helpers.js +26 -0
  139. package/dist/native/helpers.js.map +1 -0
  140. package/dist/native/index.js +13 -0
  141. package/dist/native/index.js.map +1 -0
  142. package/dist/native/keyboardAvoidance.js +62 -0
  143. package/dist/native/keyboardAvoidance.js.map +1 -0
  144. package/dist/native/nativeSheet.js +48 -0
  145. package/dist/native/nativeSheet.js.map +1 -0
  146. package/dist/native/setupGestureHandler.js +27 -0
  147. package/dist/native/setupGestureHandler.js.map +1 -0
  148. package/dist/native/types.js +2 -0
  149. package/dist/native/types.js.map +1 -0
  150. package/dist/native/useGestureHandlerPan.js +353 -0
  151. package/dist/native/useGestureHandlerPan.js.map +1 -0
  152. package/dist/native/useKeyboardControllerSheet.js +118 -0
  153. package/dist/native/useKeyboardControllerSheet.js.map +1 -0
  154. package/dist/native/useSafeAreaInsets.js +25 -0
  155. package/dist/native/useSafeAreaInsets.js.map +1 -0
  156. package/dist/native/useSheet.js +3 -0
  157. package/dist/native/useSheet.js.map +1 -0
  158. package/dist/native/useSheetController.js +14 -0
  159. package/dist/native/useSheetController.js.map +1 -0
  160. package/dist/native/useSheetOffscreenSize.js +36 -0
  161. package/dist/native/useSheetOffscreenSize.js.map +1 -0
  162. package/dist/native/useSheetOpenState.js +25 -0
  163. package/dist/native/useSheetOpenState.js.map +1 -0
  164. package/dist/native/useSheetProviderProps.js +165 -0
  165. package/dist/native/useSheetProviderProps.js.map +1 -0
  166. package/dist/native/useSheetScrollViewGestures.js +131 -0
  167. package/dist/native/useSheetScrollViewGestures.js.map +1 -0
  168. package/dist/native/webViewport.js +98 -0
  169. package/dist/native/webViewport.js.map +1 -0
  170. package/package.json +52 -50
  171. package/src/GestureDetectorWrapper.tsx +1 -1
  172. package/src/Sheet.tsx +4 -4
  173. package/src/SheetContext.tsx +2 -2
  174. package/src/SheetController.d.ts +7 -0
  175. package/src/SheetController.d.ts.map +1 -0
  176. package/src/SheetController.js +38 -0
  177. package/src/SheetController.js.map +1 -0
  178. package/src/SheetController.tsx +2 -2
  179. package/src/SheetImplementationCustom.tsx +14 -14
  180. package/src/SheetScrollView.tsx +6 -6
  181. package/src/controller.ts +2 -2
  182. package/src/createSheet.tsx +9 -9
  183. package/src/index.ts +12 -12
  184. package/src/nativeSheet.tsx +4 -4
  185. package/src/useGestureHandlerPan.tsx +3 -3
  186. package/src/useKeyboardControllerSheet.native.ts +1 -1
  187. package/src/useKeyboardControllerSheet.ts +2 -2
  188. package/src/useSafeAreaInsets.native.ts +1 -1
  189. package/src/useSheet.tsx +1 -1
  190. package/src/useSheetController.d.ts +20 -0
  191. package/src/useSheetController.d.ts.map +1 -0
  192. package/src/useSheetController.js +14 -0
  193. package/src/useSheetController.js.map +1 -0
  194. package/src/useSheetOffscreenSize.tsx +1 -1
  195. package/src/useSheetOpenState.tsx +2 -2
  196. package/src/useSheetProviderProps.tsx +2 -2
  197. package/src/useSheetScrollViewGestures.native.ts +1 -1
  198. package/src/useSheetScrollViewGestures.ts +1 -1
  199. package/types/GestureDetectorWrapper.d.ts +1 -1
  200. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  201. package/types/GestureSheetContext.d.ts +1 -1
  202. package/types/GestureSheetContext.d.ts.map +1 -1
  203. package/types/Sheet.d.ts +81 -89
  204. package/types/Sheet.d.ts.map +1 -1
  205. package/types/SheetContext.d.ts +5 -5
  206. package/types/SheetContext.d.ts.map +1 -1
  207. package/types/SheetController.d.ts +3 -2
  208. package/types/SheetController.d.ts.map +1 -1
  209. package/types/SheetImplementationCustom.d.ts +3 -3
  210. package/types/SheetImplementationCustom.d.ts.map +1 -1
  211. package/types/SheetScrollView.d.ts +6 -6
  212. package/types/controller.d.ts +2 -2
  213. package/types/controller.d.ts.map +1 -1
  214. package/types/createSheet.d.ts +85 -85
  215. package/types/createSheet.d.ts.map +1 -1
  216. package/types/index.d.ts +12 -12
  217. package/types/index.d.ts.map +1 -1
  218. package/types/nativeSheet.d.ts +1 -1
  219. package/types/nativeSheet.d.ts.map +1 -1
  220. package/types/useGestureHandlerPan.d.ts +1 -1
  221. package/types/useGestureHandlerPan.d.ts.map +1 -1
  222. package/types/useKeyboardControllerSheet.d.ts +1 -1
  223. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  224. package/types/useKeyboardControllerSheet.native.d.ts +1 -1
  225. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  226. package/types/useSafeAreaInsets.native.d.ts +1 -1
  227. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  228. package/types/useSheet.d.ts +1 -1
  229. package/types/useSheet.d.ts.map +1 -1
  230. package/types/useSheetOffscreenSize.d.ts +1 -1
  231. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  232. package/types/useSheetOpenState.d.ts +2 -2
  233. package/types/useSheetOpenState.d.ts.map +1 -1
  234. package/types/useSheetProviderProps.d.ts +3 -3
  235. package/types/useSheetProviderProps.d.ts.map +1 -1
  236. package/types/useSheetScrollViewGestures.d.ts +1 -1
  237. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  238. package/types/useSheetScrollViewGestures.native.d.ts +1 -1
  239. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
  240. package/controller/index.cjs +0 -2
  241. package/controller/index.d.ts +0 -5
  242. package/controller/index.js +0 -2
  243. package/controller/index.native.cjs +0 -2
  244. package/controller/index.native.js +0 -2
  245. package/dist/cjs/GestureDetectorWrapper.cjs +0 -54
  246. package/dist/cjs/GestureDetectorWrapper.native.js +0 -58
  247. package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
  248. package/dist/cjs/GestureSheetContext.cjs +0 -54
  249. package/dist/cjs/GestureSheetContext.native.js +0 -58
  250. package/dist/cjs/GestureSheetContext.native.js.map +0 -1
  251. package/dist/cjs/Sheet.cjs +0 -119
  252. package/dist/cjs/Sheet.native.js +0 -122
  253. package/dist/cjs/Sheet.native.js.map +0 -1
  254. package/dist/cjs/SheetContext.cjs +0 -34
  255. package/dist/cjs/SheetContext.native.js +0 -37
  256. package/dist/cjs/SheetContext.native.js.map +0 -1
  257. package/dist/cjs/SheetController.cjs +0 -73
  258. package/dist/cjs/SheetController.native.js +0 -79
  259. package/dist/cjs/SheetController.native.js.map +0 -1
  260. package/dist/cjs/SheetImplementationCustom.cjs +0 -652
  261. package/dist/cjs/SheetImplementationCustom.native.js +0 -694
  262. package/dist/cjs/SheetImplementationCustom.native.js.map +0 -1
  263. package/dist/cjs/SheetScrollView.cjs +0 -337
  264. package/dist/cjs/SheetScrollView.native.js +0 -348
  265. package/dist/cjs/SheetScrollView.native.js.map +0 -1
  266. package/dist/cjs/constants.cjs +0 -34
  267. package/dist/cjs/constants.native.js +0 -37
  268. package/dist/cjs/constants.native.js.map +0 -1
  269. package/dist/cjs/contexts.cjs +0 -44
  270. package/dist/cjs/contexts.native.js +0 -47
  271. package/dist/cjs/contexts.native.js.map +0 -1
  272. package/dist/cjs/controller.cjs +0 -31
  273. package/dist/cjs/controller.native.js +0 -34
  274. package/dist/cjs/controller.native.js.map +0 -1
  275. package/dist/cjs/createSheet.cjs +0 -194
  276. package/dist/cjs/createSheet.native.js +0 -204
  277. package/dist/cjs/createSheet.native.js.map +0 -1
  278. package/dist/cjs/gestureState.cjs +0 -52
  279. package/dist/cjs/gestureState.native.js +0 -56
  280. package/dist/cjs/gestureState.native.js.map +0 -1
  281. package/dist/cjs/helpers.cjs +0 -35
  282. package/dist/cjs/helpers.native.js +0 -39
  283. package/dist/cjs/helpers.native.js.map +0 -1
  284. package/dist/cjs/index.cjs +0 -41
  285. package/dist/cjs/index.native.js +0 -44
  286. package/dist/cjs/index.native.js.map +0 -1
  287. package/dist/cjs/keyboardAvoidance.cjs +0 -93
  288. package/dist/cjs/keyboardAvoidance.native.js +0 -99
  289. package/dist/cjs/keyboardAvoidance.native.js.map +0 -1
  290. package/dist/cjs/nativeSheet.cjs +0 -99
  291. package/dist/cjs/nativeSheet.native.js +0 -109
  292. package/dist/cjs/nativeSheet.native.js.map +0 -1
  293. package/dist/cjs/setupGestureHandler.cjs +0 -55
  294. package/dist/cjs/setupGestureHandler.native.js +0 -60
  295. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  296. package/dist/cjs/types.cjs +0 -18
  297. package/dist/cjs/types.native.js +0 -21
  298. package/dist/cjs/types.native.js.map +0 -1
  299. package/dist/cjs/useGestureHandlerPan.cjs +0 -274
  300. package/dist/cjs/useGestureHandlerPan.native.js +0 -286
  301. package/dist/cjs/useGestureHandlerPan.native.js.map +0 -1
  302. package/dist/cjs/useKeyboardControllerSheet.cjs +0 -102
  303. package/dist/cjs/useKeyboardControllerSheet.native.js +0 -132
  304. package/dist/cjs/useKeyboardControllerSheet.native.js.map +0 -1
  305. package/dist/cjs/useSafeAreaInsets.cjs +0 -44
  306. package/dist/cjs/useSafeAreaInsets.native.js +0 -48
  307. package/dist/cjs/useSafeAreaInsets.native.js.map +0 -1
  308. package/dist/cjs/useSheet.cjs +0 -29
  309. package/dist/cjs/useSheet.native.js +0 -34
  310. package/dist/cjs/useSheet.native.js.map +0 -1
  311. package/dist/cjs/useSheetController.cjs +0 -52
  312. package/dist/cjs/useSheetController.native.js +0 -55
  313. package/dist/cjs/useSheetController.native.js.map +0 -1
  314. package/dist/cjs/useSheetOffscreenSize.cjs +0 -63
  315. package/dist/cjs/useSheetOffscreenSize.native.js +0 -70
  316. package/dist/cjs/useSheetOffscreenSize.native.js.map +0 -1
  317. package/dist/cjs/useSheetOpenState.cjs +0 -52
  318. package/dist/cjs/useSheetOpenState.native.js +0 -58
  319. package/dist/cjs/useSheetOpenState.native.js.map +0 -1
  320. package/dist/cjs/useSheetProviderProps.cjs +0 -181
  321. package/dist/cjs/useSheetProviderProps.native.js +0 -196
  322. package/dist/cjs/useSheetProviderProps.native.js.map +0 -1
  323. package/dist/cjs/useSheetScrollViewGestures.cjs +0 -191
  324. package/dist/cjs/useSheetScrollViewGestures.native.js +0 -163
  325. package/dist/cjs/useSheetScrollViewGestures.native.js.map +0 -1
  326. package/dist/cjs/webViewport.cjs +0 -75
  327. package/dist/cjs/webViewport.native.js +0 -81
  328. package/dist/cjs/webViewport.native.js.map +0 -1
  329. package/dist/esm/GestureDetectorWrapper.mjs +0 -29
  330. package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
  331. package/dist/esm/GestureDetectorWrapper.native.js +0 -30
  332. package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
  333. package/dist/esm/GestureSheetContext.mjs +0 -28
  334. package/dist/esm/GestureSheetContext.mjs.map +0 -1
  335. package/dist/esm/GestureSheetContext.native.js +0 -29
  336. package/dist/esm/GestureSheetContext.native.js.map +0 -1
  337. package/dist/esm/Sheet.mjs +0 -89
  338. package/dist/esm/Sheet.mjs.map +0 -1
  339. package/dist/esm/Sheet.native.js +0 -89
  340. package/dist/esm/Sheet.native.js.map +0 -1
  341. package/dist/esm/SheetContext.mjs +0 -6
  342. package/dist/esm/SheetContext.mjs.map +0 -1
  343. package/dist/esm/SheetContext.native.js +0 -6
  344. package/dist/esm/SheetContext.native.js.map +0 -1
  345. package/dist/esm/SheetController.mjs +0 -37
  346. package/dist/esm/SheetController.mjs.map +0 -1
  347. package/dist/esm/SheetController.native.js +0 -40
  348. package/dist/esm/SheetController.native.js.map +0 -1
  349. package/dist/esm/SheetImplementationCustom.mjs +0 -611
  350. package/dist/esm/SheetImplementationCustom.mjs.map +0 -1
  351. package/dist/esm/SheetImplementationCustom.native.js +0 -643
  352. package/dist/esm/SheetImplementationCustom.native.js.map +0 -1
  353. package/dist/esm/SheetScrollView.mjs +0 -301
  354. package/dist/esm/SheetScrollView.mjs.map +0 -1
  355. package/dist/esm/SheetScrollView.native.js +0 -309
  356. package/dist/esm/SheetScrollView.native.js.map +0 -1
  357. package/dist/esm/constants.mjs +0 -6
  358. package/dist/esm/constants.mjs.map +0 -1
  359. package/dist/esm/constants.native.js +0 -6
  360. package/dist/esm/constants.native.js.map +0 -1
  361. package/dist/esm/contexts.mjs +0 -7
  362. package/dist/esm/contexts.mjs.map +0 -1
  363. package/dist/esm/contexts.native.js +0 -7
  364. package/dist/esm/contexts.native.js.map +0 -1
  365. package/dist/esm/controller.mjs +0 -4
  366. package/dist/esm/controller.mjs.map +0 -1
  367. package/dist/esm/controller.native.js +0 -4
  368. package/dist/esm/controller.native.js.map +0 -1
  369. package/dist/esm/createSheet.mjs +0 -168
  370. package/dist/esm/createSheet.mjs.map +0 -1
  371. package/dist/esm/createSheet.native.js +0 -176
  372. package/dist/esm/createSheet.native.js.map +0 -1
  373. package/dist/esm/gestureState.mjs +0 -24
  374. package/dist/esm/gestureState.mjs.map +0 -1
  375. package/dist/esm/gestureState.native.js +0 -25
  376. package/dist/esm/gestureState.native.js.map +0 -1
  377. package/dist/esm/helpers.mjs +0 -10
  378. package/dist/esm/helpers.mjs.map +0 -1
  379. package/dist/esm/helpers.native.js +0 -11
  380. package/dist/esm/helpers.native.js.map +0 -1
  381. package/dist/esm/index.mjs +0 -14
  382. package/dist/esm/index.mjs.map +0 -1
  383. package/dist/esm/index.native.js +0 -14
  384. package/dist/esm/index.native.js.map +0 -1
  385. package/dist/esm/keyboardAvoidance.mjs +0 -66
  386. package/dist/esm/keyboardAvoidance.mjs.map +0 -1
  387. package/dist/esm/keyboardAvoidance.native.js +0 -69
  388. package/dist/esm/keyboardAvoidance.native.js.map +0 -1
  389. package/dist/esm/nativeSheet.mjs +0 -73
  390. package/dist/esm/nativeSheet.mjs.map +0 -1
  391. package/dist/esm/nativeSheet.native.js +0 -80
  392. package/dist/esm/nativeSheet.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 +0 -2
  398. package/dist/esm/types.mjs.map +0 -1
  399. package/dist/esm/types.native.js +0 -2
  400. package/dist/esm/types.native.js.map +0 -1
  401. package/dist/esm/useGestureHandlerPan.mjs +0 -249
  402. package/dist/esm/useGestureHandlerPan.mjs.map +0 -1
  403. package/dist/esm/useGestureHandlerPan.native.js +0 -258
  404. package/dist/esm/useGestureHandlerPan.native.js.map +0 -1
  405. package/dist/esm/useKeyboardControllerSheet.mjs +0 -77
  406. package/dist/esm/useKeyboardControllerSheet.mjs.map +0 -1
  407. package/dist/esm/useKeyboardControllerSheet.native.js +0 -104
  408. package/dist/esm/useKeyboardControllerSheet.native.js.map +0 -1
  409. package/dist/esm/useSafeAreaInsets.mjs +0 -7
  410. package/dist/esm/useSafeAreaInsets.mjs.map +0 -1
  411. package/dist/esm/useSafeAreaInsets.native.js +0 -8
  412. package/dist/esm/useSafeAreaInsets.native.js.map +0 -1
  413. package/dist/esm/useSheet.mjs +0 -4
  414. package/dist/esm/useSheet.mjs.map +0 -1
  415. package/dist/esm/useSheet.native.js +0 -6
  416. package/dist/esm/useSheet.native.js.map +0 -1
  417. package/dist/esm/useSheetController.mjs +0 -15
  418. package/dist/esm/useSheetController.mjs.map +0 -1
  419. package/dist/esm/useSheetController.native.js +0 -15
  420. package/dist/esm/useSheetController.native.js.map +0 -1
  421. package/dist/esm/useSheetOffscreenSize.mjs +0 -38
  422. package/dist/esm/useSheetOffscreenSize.mjs.map +0 -1
  423. package/dist/esm/useSheetOffscreenSize.native.js +0 -42
  424. package/dist/esm/useSheetOffscreenSize.native.js.map +0 -1
  425. package/dist/esm/useSheetOpenState.mjs +0 -27
  426. package/dist/esm/useSheetOpenState.mjs.map +0 -1
  427. package/dist/esm/useSheetOpenState.native.js +0 -30
  428. package/dist/esm/useSheetOpenState.native.js.map +0 -1
  429. package/dist/esm/useSheetProviderProps.mjs +0 -145
  430. package/dist/esm/useSheetProviderProps.mjs.map +0 -1
  431. package/dist/esm/useSheetProviderProps.native.js +0 -157
  432. package/dist/esm/useSheetProviderProps.native.js.map +0 -1
  433. package/dist/esm/useSheetScrollViewGestures.mjs +0 -166
  434. package/dist/esm/useSheetScrollViewGestures.mjs.map +0 -1
  435. package/dist/esm/useSheetScrollViewGestures.native.js +0 -135
  436. package/dist/esm/useSheetScrollViewGestures.native.js.map +0 -1
  437. package/dist/esm/webViewport.mjs +0 -43
  438. package/dist/esm/webViewport.mjs.map +0 -1
  439. package/dist/esm/webViewport.native.js +0 -46
  440. package/dist/esm/webViewport.native.js.map +0 -1
  441. package/dist/jsx/GestureDetectorWrapper.mjs +0 -29
  442. package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
  443. package/dist/jsx/GestureDetectorWrapper.native.js +0 -58
  444. package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
  445. package/dist/jsx/GestureSheetContext.mjs +0 -28
  446. package/dist/jsx/GestureSheetContext.mjs.map +0 -1
  447. package/dist/jsx/GestureSheetContext.native.js +0 -58
  448. package/dist/jsx/GestureSheetContext.native.js.map +0 -1
  449. package/dist/jsx/Sheet.mjs +0 -89
  450. package/dist/jsx/Sheet.mjs.map +0 -1
  451. package/dist/jsx/Sheet.native.js +0 -122
  452. package/dist/jsx/Sheet.native.js.map +0 -1
  453. package/dist/jsx/SheetContext.mjs +0 -6
  454. package/dist/jsx/SheetContext.mjs.map +0 -1
  455. package/dist/jsx/SheetContext.native.js +0 -37
  456. package/dist/jsx/SheetContext.native.js.map +0 -1
  457. package/dist/jsx/SheetController.mjs +0 -37
  458. package/dist/jsx/SheetController.mjs.map +0 -1
  459. package/dist/jsx/SheetController.native.js +0 -79
  460. package/dist/jsx/SheetController.native.js.map +0 -1
  461. package/dist/jsx/SheetImplementationCustom.mjs +0 -611
  462. package/dist/jsx/SheetImplementationCustom.mjs.map +0 -1
  463. package/dist/jsx/SheetImplementationCustom.native.js +0 -694
  464. package/dist/jsx/SheetImplementationCustom.native.js.map +0 -1
  465. package/dist/jsx/SheetScrollView.mjs +0 -301
  466. package/dist/jsx/SheetScrollView.mjs.map +0 -1
  467. package/dist/jsx/SheetScrollView.native.js +0 -348
  468. package/dist/jsx/SheetScrollView.native.js.map +0 -1
  469. package/dist/jsx/constants.mjs +0 -6
  470. package/dist/jsx/constants.mjs.map +0 -1
  471. package/dist/jsx/constants.native.js +0 -37
  472. package/dist/jsx/constants.native.js.map +0 -1
  473. package/dist/jsx/contexts.mjs +0 -7
  474. package/dist/jsx/contexts.mjs.map +0 -1
  475. package/dist/jsx/contexts.native.js +0 -47
  476. package/dist/jsx/contexts.native.js.map +0 -1
  477. package/dist/jsx/controller.mjs +0 -4
  478. package/dist/jsx/controller.mjs.map +0 -1
  479. package/dist/jsx/controller.native.js +0 -34
  480. package/dist/jsx/controller.native.js.map +0 -1
  481. package/dist/jsx/createSheet.mjs +0 -168
  482. package/dist/jsx/createSheet.mjs.map +0 -1
  483. package/dist/jsx/createSheet.native.js +0 -204
  484. package/dist/jsx/createSheet.native.js.map +0 -1
  485. package/dist/jsx/gestureState.mjs +0 -24
  486. package/dist/jsx/gestureState.mjs.map +0 -1
  487. package/dist/jsx/gestureState.native.js +0 -56
  488. package/dist/jsx/gestureState.native.js.map +0 -1
  489. package/dist/jsx/helpers.mjs +0 -10
  490. package/dist/jsx/helpers.mjs.map +0 -1
  491. package/dist/jsx/helpers.native.js +0 -39
  492. package/dist/jsx/helpers.native.js.map +0 -1
  493. package/dist/jsx/index.js +0 -14
  494. package/dist/jsx/index.js.map +0 -1
  495. package/dist/jsx/index.mjs +0 -14
  496. package/dist/jsx/index.mjs.map +0 -1
  497. package/dist/jsx/index.native.js +0 -44
  498. package/dist/jsx/index.native.js.map +0 -1
  499. package/dist/jsx/keyboardAvoidance.mjs +0 -66
  500. package/dist/jsx/keyboardAvoidance.mjs.map +0 -1
  501. package/dist/jsx/keyboardAvoidance.native.js +0 -99
  502. package/dist/jsx/keyboardAvoidance.native.js.map +0 -1
  503. package/dist/jsx/nativeSheet.mjs +0 -73
  504. package/dist/jsx/nativeSheet.mjs.map +0 -1
  505. package/dist/jsx/nativeSheet.native.js +0 -109
  506. package/dist/jsx/nativeSheet.native.js.map +0 -1
  507. package/dist/jsx/setupGestureHandler.mjs +0 -29
  508. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  509. package/dist/jsx/setupGestureHandler.native.js +0 -60
  510. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  511. package/dist/jsx/types.mjs +0 -2
  512. package/dist/jsx/types.mjs.map +0 -1
  513. package/dist/jsx/types.native.js +0 -21
  514. package/dist/jsx/types.native.js.map +0 -1
  515. package/dist/jsx/useGestureHandlerPan.mjs +0 -249
  516. package/dist/jsx/useGestureHandlerPan.mjs.map +0 -1
  517. package/dist/jsx/useGestureHandlerPan.native.js +0 -286
  518. package/dist/jsx/useGestureHandlerPan.native.js.map +0 -1
  519. package/dist/jsx/useKeyboardControllerSheet.mjs +0 -77
  520. package/dist/jsx/useKeyboardControllerSheet.mjs.map +0 -1
  521. package/dist/jsx/useKeyboardControllerSheet.native.js +0 -132
  522. package/dist/jsx/useKeyboardControllerSheet.native.js.map +0 -1
  523. package/dist/jsx/useSafeAreaInsets.mjs +0 -7
  524. package/dist/jsx/useSafeAreaInsets.mjs.map +0 -1
  525. package/dist/jsx/useSafeAreaInsets.native.js +0 -48
  526. package/dist/jsx/useSafeAreaInsets.native.js.map +0 -1
  527. package/dist/jsx/useSheet.mjs +0 -4
  528. package/dist/jsx/useSheet.mjs.map +0 -1
  529. package/dist/jsx/useSheet.native.js +0 -34
  530. package/dist/jsx/useSheet.native.js.map +0 -1
  531. package/dist/jsx/useSheetController.mjs +0 -15
  532. package/dist/jsx/useSheetController.mjs.map +0 -1
  533. package/dist/jsx/useSheetController.native.js +0 -55
  534. package/dist/jsx/useSheetController.native.js.map +0 -1
  535. package/dist/jsx/useSheetOffscreenSize.mjs +0 -38
  536. package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -1
  537. package/dist/jsx/useSheetOffscreenSize.native.js +0 -70
  538. package/dist/jsx/useSheetOffscreenSize.native.js.map +0 -1
  539. package/dist/jsx/useSheetOpenState.mjs +0 -27
  540. package/dist/jsx/useSheetOpenState.mjs.map +0 -1
  541. package/dist/jsx/useSheetOpenState.native.js +0 -58
  542. package/dist/jsx/useSheetOpenState.native.js.map +0 -1
  543. package/dist/jsx/useSheetProviderProps.mjs +0 -145
  544. package/dist/jsx/useSheetProviderProps.mjs.map +0 -1
  545. package/dist/jsx/useSheetProviderProps.native.js +0 -196
  546. package/dist/jsx/useSheetProviderProps.native.js.map +0 -1
  547. package/dist/jsx/useSheetScrollViewGestures.mjs +0 -166
  548. package/dist/jsx/useSheetScrollViewGestures.mjs.map +0 -1
  549. package/dist/jsx/useSheetScrollViewGestures.native.js +0 -163
  550. package/dist/jsx/useSheetScrollViewGestures.native.js.map +0 -1
  551. package/dist/jsx/webViewport.mjs +0 -43
  552. package/dist/jsx/webViewport.mjs.map +0 -1
  553. package/dist/jsx/webViewport.native.js +0 -81
  554. package/dist/jsx/webViewport.native.js.map +0 -1
  555. package/setup-gesture-handler/index.cjs +0 -2
  556. package/setup-gesture-handler/index.js +0 -2
  557. package/setup-gesture-handler/index.native.cjs +0 -2
  558. package/setup-gesture-handler/index.native.js +0 -2
  559. package/setup-gesture-handler.cjs +0 -1
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resisted = resisted;
4
+ function resisted(y, minY, maxOverflow = 25) {
5
+ // If we're not past the boundary, return the original position
6
+ if (y >= minY) {
7
+ return y;
8
+ }
9
+ // Calculate how far we've gone past the boundary
10
+ const pastBoundary = minY - y;
11
+ // Use a square root function for very gentle resistance
12
+ // This creates a milder resistance curve than logarithmic
13
+ // Reduced multiplier from 1.5 to 1.0 for even less resistance
14
+ const resistedDistance = Math.sqrt(pastBoundary) * 2;
15
+ // Return the position with resistance applied
16
+ return minY - resistedDistance;
17
+ }
18
+ // // set all the way off screen
19
+ // // + 0.1 ensures this is unique - see hasntMeasured ref
20
+ // let hiddenSize: number
21
+ // export function getHiddenSize() {
22
+ // if (hiddenSize == undefined) {
23
+ // // this trigger reflow on web avoid doing on startup
24
+ // const screen = Dimensions.get('screen')
25
+ // hiddenSize = Math.max(screen.height, screen.width) + 0.1
26
+ // }
27
+ // return hiddenSize
28
+ // }
29
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.tsx"],"names":[],"mappings":";;;AAAA,kBAAyB,CAAS,EAAE,IAAY,EAAE,WAAW,GAAG,EAAE;IAChE,+DAA+D;IAC/D,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,CAAA;IACV,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAA;IAE7B,wDAAwD;IACxD,0DAA0D;IAC1D,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAEpD,8CAA8C;IAC9C,OAAO,IAAI,GAAG,gBAAgB,CAAA;AAChC,CAAC;AAED,gCAAgC;AAChC,0DAA0D;AAE1D,yBAAyB;AAEzB,oCAAoC;AACpC,mCAAmC;AACnC,2DAA2D;AAC3D,8CAA8C;AAC9C,+DAA+D;AAC/D,MAAM;AACN,sBAAsB;AACtB,IAAI"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unstable_isSheetGestureHandlerEnabled = exports.unstable_getSheetGestureHandlerState = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./Sheet.js"), exports);
6
+ tslib_1.__exportStar(require("./useSheet.js"), exports);
7
+ tslib_1.__exportStar(require("./createSheet.js"), exports);
8
+ tslib_1.__exportStar(require("./SheetController.js"), exports);
9
+ tslib_1.__exportStar(require("./useSheetController.js"), exports);
10
+ tslib_1.__exportStar(require("./useSheetOpenState.js"), exports);
11
+ tslib_1.__exportStar(require("./useSheetOffscreenSize.js"), exports);
12
+ tslib_1.__exportStar(require("./SheetScrollView.js"), exports);
13
+ tslib_1.__exportStar(require("./nativeSheet.js"), exports);
14
+ tslib_1.__exportStar(require("./types.js"), exports);
15
+ tslib_1.__exportStar(require("./contexts.js"), exports);
16
+ var gestureState_ts_1 = require("./gestureState.js");
17
+ Object.defineProperty(exports, "unstable_getSheetGestureHandlerState", { enumerable: true, get: function () { return gestureState_ts_1.getGestureHandlerState; } });
18
+ Object.defineProperty(exports, "unstable_isSheetGestureHandlerEnabled", { enumerable: true, get: function () { return gestureState_ts_1.isGestureHandlerEnabled; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,2DAAiC;AACjC,+DAAqC;AACrC,kEAAwC;AACxC,iEAAuC;AACvC,qEAA2C;AAC3C,+DAAqC;AACrC,2DAAiC;AACjC,qDAA2B;AAC3B,wDAA6B;AAC7B,qDAG0B;AAFxB,uIAAA,sBAAsB,OAAwC;AAC9D,wIAAA,uBAAuB,OAAyC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKeyboardAdjustedSheetY = getKeyboardAdjustedSheetY;
4
+ exports.getSheetReleasePosition = getSheetReleasePosition;
5
+ exports.getKeyboardOccludedHeight = getKeyboardOccludedHeight;
6
+ function getKeyboardAdjustedSheetY({ sheetY, screenSize, isKeyboardVisible, keyboardHeight, shouldTranslate, safeAreaTop, }) {
7
+ if (!shouldTranslate ||
8
+ !isKeyboardVisible ||
9
+ keyboardHeight <= 0 ||
10
+ screenSize <= 0 ||
11
+ sheetY >= screenSize) {
12
+ return sheetY;
13
+ }
14
+ return Math.max(safeAreaTop, sheetY - keyboardHeight);
15
+ }
16
+ function getSheetReleasePosition({ positions, projectedEnd, currentPosition, frameSize, dismissOnSnapToBottom, snapPointsMode, isKeyboardVisible, isWeb, }) {
17
+ let closestPoint = 0;
18
+ let dist = Number.POSITIVE_INFINITY;
19
+ for (let i = 0; i < positions.length; i++) {
20
+ const position = positions[i];
21
+ const curDist = Math.abs(projectedEnd - position);
22
+ if (curDist < dist) {
23
+ dist = curDist;
24
+ closestPoint = i;
25
+ }
26
+ }
27
+ // the keyboard-open dismiss threshold is a WEB keyboard-handoff fix
28
+ // (75de9c9694). on native the keyboard is opaque and the sheet snaps purely by
29
+ // projected position (the pre-rework behavior), so gate it to web only —
30
+ // otherwise a native fit+dismiss sheet snaps to the wrong point with the
31
+ // keyboard up.
32
+ const dismissPoint = positions.length - 1;
33
+ const isKeyboardFitDismiss = isWeb &&
34
+ dismissOnSnapToBottom &&
35
+ isKeyboardVisible &&
36
+ snapPointsMode === 'fit' &&
37
+ positions.length === 2 &&
38
+ closestPoint === dismissPoint;
39
+ if (!isKeyboardFitDismiss) {
40
+ return closestPoint;
41
+ }
42
+ const openPosition = positions[0];
43
+ const dismissPosition = positions[dismissPoint];
44
+ const dismissDistance = dismissPosition - openPosition;
45
+ if (dismissDistance <= 0 || frameSize <= 0) {
46
+ return closestPoint;
47
+ }
48
+ const draggedDistance = Math.max(0, currentPosition - openPosition);
49
+ const thresholdBase = Math.min(frameSize, dismissDistance);
50
+ const dismissThreshold = Math.max(120, thresholdBase * 0.35);
51
+ return draggedDistance >= dismissThreshold ? closestPoint : 0;
52
+ }
53
+ function getKeyboardOccludedHeight({ frameSize, isKeyboardVisible, keyboardHeight, screenSize, sheetY, }) {
54
+ if (!isKeyboardVisible ||
55
+ keyboardHeight <= 0 ||
56
+ screenSize <= 0 ||
57
+ frameSize <= 0 ||
58
+ sheetY === undefined ||
59
+ sheetY >= screenSize) {
60
+ return 0;
61
+ }
62
+ const keyboardTop = screenSize - keyboardHeight;
63
+ const sheetBottom = sheetY + frameSize;
64
+ const occludedHeight = Math.ceil(sheetBottom - keyboardTop);
65
+ return Math.min(frameSize, Math.max(0, occludedHeight));
66
+ }
67
+ //# sourceMappingURL=keyboardAvoidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboardAvoidance.js","sourceRoot":"","sources":["../../src/keyboardAvoidance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNativeSheet = getNativeSheet;
4
+ exports.setupNativeSheet = setupNativeSheet;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const stacks_1 = require("@hanzogui/stacks");
7
+ const react_1 = require("react");
8
+ const react_native_1 = require("react-native");
9
+ const SheetContext_tsx_1 = require("./SheetContext.js");
10
+ const useSheetOpenState_tsx_1 = require("./useSheetOpenState.js");
11
+ const useSheetProviderProps_tsx_1 = require("./useSheetProviderProps.js");
12
+ const nativeSheets = {
13
+ ios: null,
14
+ };
15
+ function getNativeSheet(platform) {
16
+ return nativeSheets[platform];
17
+ }
18
+ function setupNativeSheet(platform, RNIOSModal) {
19
+ const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
20
+ if (platform === 'ios') {
21
+ nativeSheets[platform] = (props) => {
22
+ const state = (0, useSheetOpenState_tsx_1.useSheetOpenState)(props);
23
+ const providerProps = (0, useSheetProviderProps_tsx_1.useSheetProviderProps)(props, state);
24
+ // const { position } = providerProps
25
+ // const { positions } = useSheetSnapPoints(providerProps)
26
+ const { open, setOpen } = state;
27
+ const ref = (0, react_1.useRef)(undefined);
28
+ (0, react_1.useEffect)(() => {
29
+ if (open) {
30
+ ref.current?.presentModal();
31
+ }
32
+ else {
33
+ ref.current?.dismissModal();
34
+ }
35
+ }, [open]);
36
+ function setOpenInternal(next) {
37
+ props.onOpenChange?.(open);
38
+ setOpen(next);
39
+ }
40
+ // modalContentPreferredContentSize={{
41
+ // mode: 'percent',
42
+ // percentWidth: '100%',
43
+ // percentHeight:
44
+ // }}
45
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(SheetContext_tsx_1.SheetProvider, { setHasScrollView: emptyFn, keyboardOccludedHeight: 0, isKeyboardVisible: false, keyboardStableFrameHeight: 0, ...providerProps, onlyShowFrame: true, children: [(0, jsx_runtime_1.jsx)(ModalSheetView, { ref: ref, onModalDidDismiss: () => setOpenInternal(false), children: (0, jsx_runtime_1.jsx)(ModalSheetViewMainContent, { children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 }, children: props.children }) }) }), (0, jsx_runtime_1.jsx)(stacks_1.YStack, { position: "absolute", opacity: 0, pointerEvents: "none", width: 0, height: 0, children: props.children })] }) }));
46
+ };
47
+ }
48
+ }
49
+ const emptyFn = () => {
50
+ // TODO
51
+ };
52
+ //# sourceMappingURL=nativeSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeSheet.js","sourceRoot":"","sources":["../../src/nativeSheet.tsx"],"names":[],"mappings":";;;;;AAAA,6CAAyC;AAEzC,iCAAyC;AACzC,+CAAmC;AACnC,wDAAkD;AAElD,kEAA2D;AAC3D,0EAAmE;AAMnE,MAAM,YAAY,GAAuE;IACvF,GAAG,EAAE,IAAI;CACV,CAAA;AAED,wBAA+B,QAA8B;IAC3D,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED,0BACE,QAA8B,EAC9B,UAAmE;IAEnE,MAAM,EAAE,cAAc,EAAE,yBAAyB,EAAE,GAAG,UAAU,CAAA;IAEhE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAA,yCAAiB,EAAC,KAAK,CAAC,CAAA;YACtC,MAAM,aAAa,GAAG,IAAA,iDAAqB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACzD,qCAAqC;YACrC,0DAA0D;YAE1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;YAC/B,MAAM,GAAG,GAAG,IAAA,cAAM,EAGf,SAAS,CAAC,CAAA;YAEb,IAAA,iBAAS,EAAC,GAAG,EAAE;gBACb,IAAI,IAAI,EAAE,CAAC;oBACT,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;gBAC7B,CAAC;YACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAEV,SAAS,eAAe,CAAC,IAAa;gBACpC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAED,sCAAsC;YACtC,qBAAqB;YACrB,0BAA0B;YAC1B,mBAAmB;YACnB,KAAK;YAEL,OAAO,CACL,2DACE,wBAAC,gCAAa,IACZ,gBAAgB,EAAE,OAAO,EACzB,sBAAsB,EAAE,CAAC,EACzB,iBAAiB,EAAE,KAAK,EACxB,yBAAyB,EAAE,CAAC,KACxB,aAAa,EACjB,aAAa,mBAEb,uBAAC,cAAc,IAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,YACvE,uBAAC,yBAAyB,cACxB,uBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAAG,KAAK,CAAC,QAAQ,GAAQ,GACvB,GACb,EAIjB,uBAAC,eAAM,IACL,QAAQ,EAAC,UAAU,EACnB,OAAO,EAAE,CAAC,EACV,aAAa,EAAC,MAAM,EACpB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,YAER,KAAK,CAAC,QAAQ,GACR,IACK,GACf,CACJ,CAAA;QACH,CAAC,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,OAAO;AACT,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ { "type": "commonjs" }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Legacy setup - prefer `import '@hanzogui/native/setup-gesture-handler'` instead.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isGestureHandlerEnabled = isGestureHandlerEnabled;
7
+ exports.setupGestureHandler = setupGestureHandler;
8
+ const native_1 = require("@hanzogui/native");
9
+ const SHEET_GESTURE_STATE_KEY = '__hanzogui_sheet_gesture_state__';
10
+ function isGestureHandlerEnabled() {
11
+ const g = globalThis;
12
+ return g[SHEET_GESTURE_STATE_KEY]?.enabled ?? (0, native_1.getGestureHandler)().isEnabled;
13
+ }
14
+ function setupGestureHandler(config) {
15
+ const g = globalThis;
16
+ if (g.__hanzogui_sheet_gesture_handler_setup) {
17
+ return;
18
+ }
19
+ g.__hanzogui_sheet_gesture_handler_setup = true;
20
+ const { Gesture, GestureDetector, ScrollView } = config;
21
+ if (Gesture && GestureDetector) {
22
+ g[SHEET_GESTURE_STATE_KEY] = {
23
+ enabled: true,
24
+ Gesture,
25
+ GestureDetector,
26
+ ScrollView: ScrollView || null,
27
+ RootView: null,
28
+ };
29
+ }
30
+ }
31
+ //# sourceMappingURL=setupGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupGestureHandler.js","sourceRoot":"","sources":["../../src/setupGestureHandler.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAEH,6CAAoD;AAIpD,MAAM,uBAAuB,GAAG,kCAAkC,CAAA;AAElE;IACE,MAAM,CAAC,GAAG,UAET,CAAA;IAED,OAAO,CAAC,CAAC,uBAAuB,CAAC,EAAE,OAAO,IAAI,IAAA,0BAAiB,GAAE,CAAC,SAAS,CAAA;AAC7E,CAAC;AAQD,6BAAoC,MAAiC;IACnE,MAAM,CAAC,GAAG,UAAiB,CAAA;IAC3B,IAAI,CAAC,CAAC,sCAAsC,EAAE,CAAC;QAC7C,OAAM;IACR,CAAC;IACD,CAAC,CAAC,sCAAsC,GAAG,IAAI,CAAA;IAE/C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IAEvD,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/B,CAAC,CAAC,uBAAuB,CAAC,GAAG;YAC3B,OAAO,EAAE,IAAI;YACb,OAAO;YACP,eAAe;YACf,UAAU,EAAE,UAAU,IAAI,IAAI;YAC9B,QAAQ,EAAE,IAAI;SACQ,CAAA;IAC1B,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useGestureHandlerPan = useGestureHandlerPan;
4
+ const constants_1 = require("@hanzogui/constants");
5
+ const react_1 = require("react");
6
+ const gestureState_ts_1 = require("./gestureState.js");
7
+ const keyboardAvoidance_ts_1 = require("./keyboardAvoidance.js");
8
+ // threshold in pixels for considering sheet "at top" position
9
+ // allows for small measurement variations
10
+ const AT_TOP_THRESHOLD = 5;
11
+ const SCROLL_HANDOFF_THRESHOLD = 160;
12
+ /**
13
+ * Hook that creates a Gesture.Pan() handler for use with react-native-gesture-handler.
14
+ * This provides native-quality gesture coordination between Sheet and ScrollView.
15
+ *
16
+ * Uses state-based decision pattern (like gorhom/bottom-sheet and react-native-actions-sheet):
17
+ * - Both pan and scroll gestures run simultaneously
18
+ * - In onChange, we decide whether to process pan or let scroll handle it
19
+ * - scrollBridge.setScrollEnabled toggles scroll on/off as needed
20
+ *
21
+ * Decision matrix:
22
+ * 1. Sheet not fully open + swiping up -> pan handles (disable scroll)
23
+ * 2. Sheet fully open + swiping up -> scroll handles (blockPan)
24
+ * 3. Sheet not fully open + swiping down -> pan handles (unless scrolled)
25
+ * 4. Sheet fully open + swiping down + scrollY=0 -> pan handles
26
+ * 5. Sheet fully open + swiping down + scrollY>0 -> scroll handles (blockPan)
27
+ *
28
+ * Returns null for the gesture if RNGH is not available or drag is disabled.
29
+ */
30
+ function useGestureHandlerPan(config) {
31
+ const { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef, } = config;
32
+ const gestureHandlerEnabled = (0, gestureState_ts_1.isGestureHandlerEnabled)();
33
+ const panGestureRef = (0, react_1.useRef)(null);
34
+ const releaseConfigRef = (0, react_1.useRef)({
35
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
36
+ snapPointsMode: config.snapPointsMode ?? 'percent',
37
+ isKeyboardVisible: config.isKeyboardVisible === true,
38
+ });
39
+ releaseConfigRef.current = {
40
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
41
+ snapPointsMode: config.snapPointsMode ?? 'percent',
42
+ isKeyboardVisible: config.isKeyboardVisible === true,
43
+ };
44
+ // use refs for values that need to persist across gesture lifecycle
45
+ // (useMemo closure variables get reset when gesture is recreated)
46
+ const gestureStateRef = (0, react_1.useRef)({
47
+ startY: 0,
48
+ // track last translation when pan was active (for position calculation after handoff)
49
+ lastPanTranslationY: 0,
50
+ // accumulated position offset from all pan movements
51
+ accumulatedOffset: 0,
52
+ // track previous translation for direction detection (like actions-sheet)
53
+ prevTranslationY: 0,
54
+ // track if scroll was engaged (scrollY > 0) at some point
55
+ scrollEngaged: false,
56
+ // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
57
+ // causing positions to revert. Frozen positions ensure stable snap calculation.
58
+ frozenPositions: [],
59
+ frozenMinY: 0,
60
+ frozenIsKeyboardVisible: false,
61
+ // whether pan gesture actually started (vs just a tap in onBegin)
62
+ panStarted: false,
63
+ startedBelowTop: false,
64
+ upwardDragAfterTop: 0,
65
+ scrollUnlockedAfterTop: false,
66
+ keepScrollLockedAfterEnd: false,
67
+ });
68
+ const unlockScrollTimer = (0, react_1.useRef)(null);
69
+ (0, react_1.useEffect)(() => {
70
+ return () => {
71
+ if (unlockScrollTimer.current) {
72
+ clearTimeout(unlockScrollTimer.current);
73
+ unlockScrollTimer.current = null;
74
+ }
75
+ };
76
+ }, []);
77
+ const onStart = (0, react_1.useCallback)(() => {
78
+ stopSpring();
79
+ }, [stopSpring]);
80
+ const onEnd = (0, react_1.useCallback)((closestPoint, animationOverride, keepScrollLocked = false) => {
81
+ if (unlockScrollTimer.current) {
82
+ clearTimeout(unlockScrollTimer.current);
83
+ unlockScrollTimer.current = null;
84
+ }
85
+ setIsDragging(false);
86
+ scrollBridge.setParentDragging(false);
87
+ scrollBridge.lockScrollAtTop = false;
88
+ if (keepScrollLocked) {
89
+ scrollBridge.setScrollEnabled?.(false, 0);
90
+ unlockScrollTimer.current = setTimeout(() => {
91
+ unlockScrollTimer.current = null;
92
+ scrollBridge.setScrollEnabled?.(true);
93
+ }, 160);
94
+ }
95
+ else {
96
+ // re-enable scroll when gesture ends
97
+ scrollBridge.setScrollEnabled?.(true);
98
+ }
99
+ setPosition(closestPoint);
100
+ animateTo(closestPoint, animationOverride);
101
+ }, [setIsDragging, scrollBridge, setPosition, animateTo]);
102
+ const panGesture = (0, react_1.useMemo)(() => {
103
+ // don't create gesture if disabled or RNGH not available
104
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
105
+ return null;
106
+ }
107
+ const { Gesture } = (0, gestureState_ts_1.getGestureHandlerState)();
108
+ if (!Gesture) {
109
+ return null;
110
+ }
111
+ const minY = positions[0];
112
+ const gs = gestureStateRef.current; // shorthand
113
+ // simultaneousHandlers pattern from react-native-actions-sheet
114
+ // both gestures run simultaneously, we use blockPan to decide who handles
115
+ const gesture = Gesture.Pan()
116
+ .withRef(panGestureRef)
117
+ // NO manualActivation - let both gestures run via simultaneousHandlers
118
+ // activeOffsetY: activate pan when user moves 10px vertically (required on Android)
119
+ .activeOffsetY([-10, 10])
120
+ // failOffsetX: cancel pan if user moves 20px horizontally (horizontal scroll takes over)
121
+ .failOffsetX([-20, 20])
122
+ .shouldCancelWhenOutside(false)
123
+ .onBegin(() => {
124
+ // onBegin fires on ANY touch (including taps to focus inputs).
125
+ // We do NOT set isDragging here — that would block keyboard animation.
126
+ // Instead, isDragging is set in onStart (actual pan gesture recognized).
127
+ gs.panStarted = false;
128
+ // lightweight: pause keyboard handler to suppress hide events during gesture.
129
+ // This prevents keyboard flicker if input blurs before onStart.
130
+ // If this is just a tap, onFinalize un-pauses without setting isDragging.
131
+ if (config.pauseKeyboardHandler) {
132
+ config.pauseKeyboardHandler.current = true;
133
+ }
134
+ // check position at gesture begin - before direction is known
135
+ const pos = getCurrentPosition();
136
+ const atTop = pos <= minY + AT_TOP_THRESHOLD;
137
+ const currentScrollY = scrollBridge.y;
138
+ gs.startY = pos;
139
+ gs.lastPanTranslationY = 0;
140
+ gs.accumulatedOffset = 0;
141
+ gs.prevTranslationY = 0;
142
+ gs.scrollEngaged = currentScrollY > 0; // track if scroll is already engaged
143
+ // freeze positions at gesture start so keyboard dismiss during drag
144
+ // doesn't change snap targets mid-gesture
145
+ gs.frozenPositions = [...positions];
146
+ gs.frozenMinY = minY;
147
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
148
+ gs.startedBelowTop = !atTop;
149
+ gs.upwardDragAfterTop = 0;
150
+ gs.scrollUnlockedAfterTop = false;
151
+ gs.keepScrollLockedAfterEnd = false;
152
+ scrollBridge.lockScrollAtTop = false;
153
+ if (unlockScrollTimer.current) {
154
+ clearTimeout(unlockScrollTimer.current);
155
+ unlockScrollTimer.current = null;
156
+ }
157
+ // if sheet not at top, DISABLE SCROLL immediately and lock to 0
158
+ // this prevents scroll from firing before pan takes over
159
+ if (!atTop) {
160
+ scrollBridge.setScrollEnabled?.(false, 0);
161
+ }
162
+ })
163
+ .onStart(() => {
164
+ // onStart fires only when pan gesture is recognized (finger moved enough).
165
+ // Safe to set isDragging here — this won't fire for taps to focus inputs.
166
+ gs.panStarted = true;
167
+ setIsDragging(true);
168
+ scrollBridge.initialPosition = gs.startY;
169
+ onStart();
170
+ })
171
+ .onChange((event) => {
172
+ const { translationY } = event;
173
+ // determine direction by comparing translations (like react-native-actions-sheet)
174
+ // this is more reliable than velocity which can be noisy during direction changes
175
+ const isSwipingDown = gs.prevTranslationY < translationY;
176
+ const deltaY = translationY - gs.prevTranslationY;
177
+ gs.prevTranslationY = translationY;
178
+ const scrollY = scrollBridge.y;
179
+ // track if scroll has been engaged at some point (needed for handoff detection)
180
+ if (scrollY > 0) {
181
+ gs.scrollEngaged = true;
182
+ }
183
+ // calculate current sheet position based on accumulated offset
184
+ const currentPos = gs.startY + gs.accumulatedOffset;
185
+ const isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
186
+ const nodeIsScrolling = scrollY > 0;
187
+ // decision matrix (from react-native-actions-sheet pattern)
188
+ // each frame, decide who handles the movement based on current state
189
+ //
190
+ // Key insight: we track accumulated offset separately from translation
191
+ // This allows seamless handoffs between pan and scroll
192
+ let panHandles = false;
193
+ // BUG #1 FIX: Check if scroll content is actually scrollable
194
+ // If content doesn't fill the ScrollView, gestures should pass through to sheet
195
+ const hasScrollableContent = scrollBridge.hasScrollableContent !== false;
196
+ if (!isCurrentlyAtTop) {
197
+ // sheet not at top position
198
+ if (isSwipingDown) {
199
+ // swiping down while sheet not at top
200
+ // BUG #1 FIX: if content not scrollable, pan always handles
201
+ // only scroll if scrollY > 0 AND content is scrollable, otherwise pan handles
202
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
203
+ }
204
+ else {
205
+ // swiping up while sheet not at top -> pan drags sheet up
206
+ panHandles = true;
207
+ }
208
+ }
209
+ else {
210
+ // sheet is at top position
211
+ if (isSwipingDown) {
212
+ // swiping down at top
213
+ if (nodeIsScrolling && hasScrollableContent) {
214
+ // scroll > 0 and content scrollable, let scroll handle (scroll back towards 0)
215
+ panHandles = false;
216
+ }
217
+ else if (gs.scrollEngaged && hasScrollableContent) {
218
+ // scroll WAS > 0 but now is 0 -> handoff from scroll to pan
219
+ // pan takes over to drag sheet down
220
+ panHandles = true;
221
+ }
222
+ else {
223
+ // scroll never engaged OR content not scrollable, just drag sheet down
224
+ panHandles = true;
225
+ }
226
+ }
227
+ else {
228
+ // swiping up at top
229
+ // if there's scrollable content, let scroll handle so user can scroll into content
230
+ // resistance only applies when there's NO scrollable content
231
+ if (hasScrollableContent) {
232
+ if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
233
+ gs.upwardDragAfterTop += Math.max(0, -deltaY);
234
+ if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
235
+ gs.scrollUnlockedAfterTop = true;
236
+ panHandles = false;
237
+ }
238
+ else {
239
+ panHandles = true;
240
+ }
241
+ }
242
+ else {
243
+ // content is scrollable - let scroll handle (user wants to scroll down into content)
244
+ panHandles = false;
245
+ }
246
+ }
247
+ else {
248
+ // no scrollable content -> pan handles for resistance effect
249
+ panHandles = true;
250
+ }
251
+ }
252
+ }
253
+ if (panHandles) {
254
+ scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
255
+ // pan handles - disable scroll and move sheet
256
+ // when swiping down at top after scroll was engaged: lock at current scroll position
257
+ // (handoff from scroll to pan — preserve scroll offset)
258
+ // otherwise: always lock scroll to 0 (prevents scroll from firing during sheet drag)
259
+ const lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? undefined : 0;
260
+ scrollBridge.setScrollEnabled?.(false, lockTo);
261
+ // accumulate the delta for position calculation
262
+ gs.accumulatedOffset += deltaY;
263
+ const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
264
+ // update position
265
+ scrollBridge.paneY = newPosition;
266
+ setAnimatedPosition(newPosition);
267
+ scrollBridge.setParentDragging(newPosition > minY);
268
+ }
269
+ else {
270
+ scrollBridge.lockScrollAtTop = false;
271
+ // scroll handles - enable scroll so it can move freely
272
+ scrollBridge.setScrollEnabled?.(true);
273
+ scrollBridge.setParentDragging(false);
274
+ // don't accumulate offset when scroll is handling
275
+ }
276
+ })
277
+ .onEnd((event) => {
278
+ const { velocityY } = event;
279
+ const currentPos = gs.startY + gs.accumulatedOffset;
280
+ const keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
281
+ // clear scroll lock
282
+ scrollBridge.lockScrollAtTop = false;
283
+ scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : undefined;
284
+ gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
285
+ // use frozen positions from gesture start — keyboard may have dismissed
286
+ // during drag (input blur), reverting activePositions. Frozen positions
287
+ // ensure the snap index reflects the user's intent at drag start.
288
+ // The onEnd callback's animateTo uses latest activePositions for the
289
+ // actual animation target, so the sheet ends up at the right place.
290
+ const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
291
+ const snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
292
+ // if sheet is at top and scroll is engaged, just stay at top
293
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
294
+ onEnd(0, undefined, keepScrollLockedAfterEnd);
295
+ return;
296
+ }
297
+ // snap calculation using frozen positions
298
+ const velocity = velocityY / 1000;
299
+ const projectedEnd = currentPos + frameSize * velocity * 0.2;
300
+ const releaseConfig = releaseConfigRef.current;
301
+ const closestPoint = (0, keyboardAvoidance_ts_1.getSheetReleasePosition)({
302
+ positions: snapPositions,
303
+ projectedEnd,
304
+ currentPosition: currentPos,
305
+ frameSize,
306
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
307
+ snapPointsMode: releaseConfig.snapPointsMode,
308
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
309
+ isWeb: constants_1.isWeb,
310
+ });
311
+ onEnd(closestPoint, undefined, keepScrollLockedAfterEnd);
312
+ })
313
+ .onFinalize(() => {
314
+ // clear scroll lock on finalize too (safety)
315
+ scrollBridge.lockScrollAtTop = false;
316
+ scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : undefined;
317
+ if (gs.panStarted) {
318
+ // real pan gesture — reset isDragging (also un-pauses keyboard handler + flushes)
319
+ setIsDragging(false);
320
+ }
321
+ else {
322
+ // just a tap (onBegin fired but onStart never did) — un-pause keyboard handler
323
+ // without setting isDragging (which would block keyboard animation effect)
324
+ if (config.pauseKeyboardHandler) {
325
+ config.pauseKeyboardHandler.current = false;
326
+ }
327
+ }
328
+ })
329
+ .runOnJS(true);
330
+ // if we have a scroll gesture ref, make pan simultaneous with it
331
+ // this allows both gestures to run and we decide in onChange who handles it
332
+ if (scrollGestureRef?.current) {
333
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
334
+ }
335
+ return gesture;
336
+ }, [
337
+ gestureHandlerEnabled,
338
+ disableDrag,
339
+ isShowingInnerSheet,
340
+ frameSize,
341
+ positions,
342
+ scrollBridge,
343
+ getCurrentPosition,
344
+ resisted,
345
+ onStart,
346
+ onEnd,
347
+ setIsDragging,
348
+ setAnimatedPosition,
349
+ ]);
350
+ return {
351
+ panGesture,
352
+ panGestureRef,
353
+ gestureHandlerEnabled,
354
+ };
355
+ }
356
+ //# sourceMappingURL=useGestureHandlerPan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGestureHandlerPan.js","sourceRoot":"","sources":["../../src/useGestureHandlerPan.tsx"],"names":[],"mappings":"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"}