@tamagui/sheet 2.0.0-rc.4 → 2.0.0-rc.40

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