@hanzogui/sheet 7.0.0 → 7.3.0

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 (332) hide show
  1. package/LICENSE +40 -19
  2. package/dist/cjs/GestureDetectorWrapper.cjs +54 -0
  3. package/dist/cjs/GestureDetectorWrapper.native.js +58 -0
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -0
  5. package/dist/cjs/GestureSheetContext.cjs +54 -0
  6. package/dist/cjs/GestureSheetContext.native.js +58 -0
  7. package/dist/cjs/GestureSheetContext.native.js.map +1 -0
  8. package/dist/cjs/Sheet.cjs +119 -0
  9. package/dist/cjs/Sheet.native.js +122 -0
  10. package/dist/cjs/Sheet.native.js.map +1 -0
  11. package/dist/cjs/SheetContext.cjs +34 -0
  12. package/dist/cjs/SheetContext.native.js +37 -0
  13. package/dist/cjs/SheetContext.native.js.map +1 -0
  14. package/dist/cjs/SheetController.cjs +73 -0
  15. package/dist/cjs/SheetController.native.js +79 -0
  16. package/dist/cjs/SheetController.native.js.map +1 -0
  17. package/dist/cjs/SheetImplementationCustom.cjs +589 -0
  18. package/dist/cjs/SheetImplementationCustom.native.js +615 -0
  19. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -0
  20. package/dist/cjs/SheetScrollView.cjs +216 -0
  21. package/dist/cjs/SheetScrollView.native.js +223 -0
  22. package/dist/cjs/SheetScrollView.native.js.map +1 -0
  23. package/dist/cjs/constants.cjs +34 -0
  24. package/dist/cjs/constants.native.js +37 -0
  25. package/dist/cjs/constants.native.js.map +1 -0
  26. package/dist/cjs/contexts.cjs +44 -0
  27. package/dist/cjs/contexts.native.js +47 -0
  28. package/dist/cjs/contexts.native.js.map +1 -0
  29. package/dist/cjs/controller.cjs +31 -0
  30. package/dist/cjs/controller.native.js +34 -0
  31. package/dist/cjs/controller.native.js.map +1 -0
  32. package/dist/cjs/createSheet.cjs +190 -0
  33. package/dist/cjs/createSheet.native.js +200 -0
  34. package/dist/cjs/createSheet.native.js.map +1 -0
  35. package/dist/cjs/gestureState.cjs +41 -0
  36. package/dist/cjs/gestureState.native.js +44 -0
  37. package/dist/cjs/gestureState.native.js.map +1 -0
  38. package/dist/cjs/helpers.cjs +35 -0
  39. package/dist/cjs/helpers.native.js +39 -0
  40. package/dist/cjs/helpers.native.js.map +1 -0
  41. package/dist/cjs/index.cjs +30 -0
  42. package/dist/cjs/index.native.js +33 -0
  43. package/dist/cjs/index.native.js.map +1 -0
  44. package/dist/cjs/nativeSheet.cjs +96 -0
  45. package/dist/cjs/nativeSheet.native.js +106 -0
  46. package/dist/cjs/nativeSheet.native.js.map +1 -0
  47. package/dist/cjs/setupGestureHandler.cjs +52 -0
  48. package/dist/cjs/setupGestureHandler.native.js +55 -0
  49. package/dist/cjs/setupGestureHandler.native.js.map +1 -0
  50. package/dist/cjs/types.cjs +18 -0
  51. package/dist/cjs/types.native.js +21 -0
  52. package/dist/cjs/types.native.js.map +1 -0
  53. package/dist/cjs/useGestureHandlerPan.cjs +206 -0
  54. package/dist/cjs/useGestureHandlerPan.native.js +213 -0
  55. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -0
  56. package/dist/cjs/useKeyboardControllerSheet.cjs +40 -0
  57. package/dist/cjs/useKeyboardControllerSheet.native.js +132 -0
  58. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -0
  59. package/dist/cjs/useSheet.cjs +29 -0
  60. package/dist/cjs/useSheet.native.js +34 -0
  61. package/dist/cjs/useSheet.native.js.map +1 -0
  62. package/dist/cjs/useSheetController.cjs +52 -0
  63. package/dist/cjs/useSheetController.native.js +55 -0
  64. package/dist/cjs/useSheetController.native.js.map +1 -0
  65. package/dist/cjs/useSheetOffscreenSize.cjs +63 -0
  66. package/dist/cjs/useSheetOffscreenSize.native.js +70 -0
  67. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -0
  68. package/dist/cjs/useSheetOpenState.cjs +52 -0
  69. package/dist/cjs/useSheetOpenState.native.js +58 -0
  70. package/dist/cjs/useSheetOpenState.native.js.map +1 -0
  71. package/dist/cjs/useSheetProviderProps.cjs +181 -0
  72. package/dist/cjs/useSheetProviderProps.native.js +196 -0
  73. package/dist/cjs/useSheetProviderProps.native.js.map +1 -0
  74. package/dist/cjs/useSheetScrollViewGestures.cjs +166 -0
  75. package/dist/cjs/useSheetScrollViewGestures.native.js +159 -0
  76. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -0
  77. package/dist/esm/GestureDetectorWrapper.mjs +29 -0
  78. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -0
  79. package/dist/esm/GestureDetectorWrapper.native.js +30 -0
  80. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -0
  81. package/dist/esm/GestureSheetContext.mjs +28 -0
  82. package/dist/esm/GestureSheetContext.mjs.map +1 -0
  83. package/dist/esm/GestureSheetContext.native.js +29 -0
  84. package/dist/esm/GestureSheetContext.native.js.map +1 -0
  85. package/dist/esm/Sheet.mjs +89 -0
  86. package/dist/esm/Sheet.mjs.map +1 -0
  87. package/dist/esm/Sheet.native.js +89 -0
  88. package/dist/esm/Sheet.native.js.map +1 -0
  89. package/dist/esm/SheetContext.mjs +6 -0
  90. package/dist/esm/SheetContext.mjs.map +1 -0
  91. package/dist/esm/SheetContext.native.js +6 -0
  92. package/dist/esm/SheetContext.native.js.map +1 -0
  93. package/dist/esm/SheetController.mjs +37 -0
  94. package/dist/esm/SheetController.mjs.map +1 -0
  95. package/dist/esm/SheetController.native.js +40 -0
  96. package/dist/esm/SheetController.native.js.map +1 -0
  97. package/dist/esm/SheetImplementationCustom.mjs +552 -0
  98. package/dist/esm/SheetImplementationCustom.mjs.map +1 -0
  99. package/dist/esm/SheetImplementationCustom.native.js +572 -0
  100. package/dist/esm/SheetImplementationCustom.native.js.map +1 -0
  101. package/dist/esm/SheetScrollView.mjs +180 -0
  102. package/dist/esm/SheetScrollView.mjs.map +1 -0
  103. package/dist/esm/SheetScrollView.native.js +184 -0
  104. package/dist/esm/SheetScrollView.native.js.map +1 -0
  105. package/dist/esm/constants.mjs +6 -0
  106. package/dist/esm/constants.mjs.map +1 -0
  107. package/dist/esm/constants.native.js +6 -0
  108. package/dist/esm/constants.native.js.map +1 -0
  109. package/dist/esm/contexts.mjs +7 -0
  110. package/dist/esm/contexts.mjs.map +1 -0
  111. package/dist/esm/contexts.native.js +7 -0
  112. package/dist/esm/contexts.native.js.map +1 -0
  113. package/dist/esm/controller.mjs +4 -0
  114. package/dist/esm/controller.mjs.map +1 -0
  115. package/dist/esm/controller.native.js +4 -0
  116. package/dist/esm/controller.native.js.map +1 -0
  117. package/dist/esm/createSheet.mjs +165 -0
  118. package/dist/esm/createSheet.mjs.map +1 -0
  119. package/dist/esm/createSheet.native.js +172 -0
  120. package/dist/esm/createSheet.native.js.map +1 -0
  121. package/dist/esm/gestureState.mjs +13 -0
  122. package/dist/esm/gestureState.mjs.map +1 -0
  123. package/dist/esm/gestureState.native.js +13 -0
  124. package/dist/esm/gestureState.native.js.map +1 -0
  125. package/dist/esm/helpers.mjs +10 -0
  126. package/dist/esm/helpers.mjs.map +1 -0
  127. package/dist/esm/helpers.native.js +11 -0
  128. package/dist/esm/helpers.native.js.map +1 -0
  129. package/dist/esm/index.js +12 -0
  130. package/dist/esm/index.js.map +1 -0
  131. package/dist/esm/index.mjs +12 -0
  132. package/dist/esm/index.mjs.map +1 -0
  133. package/dist/esm/index.native.js +12 -0
  134. package/dist/esm/index.native.js.map +1 -0
  135. package/dist/esm/nativeSheet.mjs +70 -0
  136. package/dist/esm/nativeSheet.mjs.map +1 -0
  137. package/dist/esm/nativeSheet.native.js +77 -0
  138. package/dist/esm/nativeSheet.native.js.map +1 -0
  139. package/dist/esm/setupGestureHandler.mjs +26 -0
  140. package/dist/esm/setupGestureHandler.mjs.map +1 -0
  141. package/dist/esm/setupGestureHandler.native.js +26 -0
  142. package/dist/esm/setupGestureHandler.native.js.map +1 -0
  143. package/dist/esm/types.mjs +2 -0
  144. package/dist/esm/types.mjs.map +1 -0
  145. package/dist/esm/types.native.js +2 -0
  146. package/dist/esm/types.native.js.map +1 -0
  147. package/dist/esm/useGestureHandlerPan.mjs +181 -0
  148. package/dist/esm/useGestureHandlerPan.mjs.map +1 -0
  149. package/dist/esm/useGestureHandlerPan.native.js +185 -0
  150. package/dist/esm/useGestureHandlerPan.native.js.map +1 -0
  151. package/dist/esm/useKeyboardControllerSheet.mjs +15 -0
  152. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -0
  153. package/dist/esm/useKeyboardControllerSheet.native.js +104 -0
  154. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -0
  155. package/dist/esm/useSheet.mjs +4 -0
  156. package/dist/esm/useSheet.mjs.map +1 -0
  157. package/dist/esm/useSheet.native.js +6 -0
  158. package/dist/esm/useSheet.native.js.map +1 -0
  159. package/dist/esm/useSheetController.mjs +15 -0
  160. package/dist/esm/useSheetController.mjs.map +1 -0
  161. package/dist/esm/useSheetController.native.js +15 -0
  162. package/dist/esm/useSheetController.native.js.map +1 -0
  163. package/dist/esm/useSheetOffscreenSize.mjs +38 -0
  164. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -0
  165. package/dist/esm/useSheetOffscreenSize.native.js +42 -0
  166. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -0
  167. package/dist/esm/useSheetOpenState.mjs +27 -0
  168. package/dist/esm/useSheetOpenState.mjs.map +1 -0
  169. package/dist/esm/useSheetOpenState.native.js +30 -0
  170. package/dist/esm/useSheetOpenState.native.js.map +1 -0
  171. package/dist/esm/useSheetProviderProps.mjs +145 -0
  172. package/dist/esm/useSheetProviderProps.mjs.map +1 -0
  173. package/dist/esm/useSheetProviderProps.native.js +157 -0
  174. package/dist/esm/useSheetProviderProps.native.js.map +1 -0
  175. package/dist/esm/useSheetScrollViewGestures.mjs +141 -0
  176. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -0
  177. package/dist/esm/useSheetScrollViewGestures.native.js +131 -0
  178. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -0
  179. package/dist/jsx/GestureDetectorWrapper.mjs +29 -0
  180. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -0
  181. package/dist/jsx/GestureDetectorWrapper.native.js +58 -0
  182. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -0
  183. package/dist/jsx/GestureSheetContext.mjs +28 -0
  184. package/dist/jsx/GestureSheetContext.mjs.map +1 -0
  185. package/dist/jsx/GestureSheetContext.native.js +58 -0
  186. package/dist/jsx/GestureSheetContext.native.js.map +1 -0
  187. package/dist/jsx/Sheet.mjs +89 -0
  188. package/dist/jsx/Sheet.mjs.map +1 -0
  189. package/dist/jsx/Sheet.native.js +122 -0
  190. package/dist/jsx/Sheet.native.js.map +1 -0
  191. package/dist/jsx/SheetContext.mjs +6 -0
  192. package/dist/jsx/SheetContext.mjs.map +1 -0
  193. package/dist/jsx/SheetContext.native.js +37 -0
  194. package/dist/jsx/SheetContext.native.js.map +1 -0
  195. package/dist/jsx/SheetController.mjs +37 -0
  196. package/dist/jsx/SheetController.mjs.map +1 -0
  197. package/dist/jsx/SheetController.native.js +79 -0
  198. package/dist/jsx/SheetController.native.js.map +1 -0
  199. package/dist/jsx/SheetImplementationCustom.mjs +552 -0
  200. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -0
  201. package/dist/jsx/SheetImplementationCustom.native.js +615 -0
  202. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -0
  203. package/dist/jsx/SheetScrollView.mjs +180 -0
  204. package/dist/jsx/SheetScrollView.mjs.map +1 -0
  205. package/dist/jsx/SheetScrollView.native.js +223 -0
  206. package/dist/jsx/SheetScrollView.native.js.map +1 -0
  207. package/dist/jsx/constants.mjs +6 -0
  208. package/dist/jsx/constants.mjs.map +1 -0
  209. package/dist/jsx/constants.native.js +37 -0
  210. package/dist/jsx/constants.native.js.map +1 -0
  211. package/dist/jsx/contexts.mjs +7 -0
  212. package/dist/jsx/contexts.mjs.map +1 -0
  213. package/dist/jsx/contexts.native.js +47 -0
  214. package/dist/jsx/contexts.native.js.map +1 -0
  215. package/dist/jsx/controller.mjs +4 -0
  216. package/dist/jsx/controller.mjs.map +1 -0
  217. package/dist/jsx/controller.native.js +34 -0
  218. package/dist/jsx/controller.native.js.map +1 -0
  219. package/dist/jsx/createSheet.mjs +165 -0
  220. package/dist/jsx/createSheet.mjs.map +1 -0
  221. package/dist/jsx/createSheet.native.js +200 -0
  222. package/dist/jsx/createSheet.native.js.map +1 -0
  223. package/dist/jsx/gestureState.mjs +13 -0
  224. package/dist/jsx/gestureState.mjs.map +1 -0
  225. package/dist/jsx/gestureState.native.js +44 -0
  226. package/dist/jsx/gestureState.native.js.map +1 -0
  227. package/dist/jsx/helpers.mjs +10 -0
  228. package/dist/jsx/helpers.mjs.map +1 -0
  229. package/dist/jsx/helpers.native.js +39 -0
  230. package/dist/jsx/helpers.native.js.map +1 -0
  231. package/dist/jsx/index.js +12 -0
  232. package/dist/jsx/index.js.map +1 -0
  233. package/dist/jsx/index.mjs +12 -0
  234. package/dist/jsx/index.mjs.map +1 -0
  235. package/dist/jsx/index.native.js +33 -0
  236. package/dist/jsx/index.native.js.map +1 -0
  237. package/dist/jsx/nativeSheet.mjs +70 -0
  238. package/dist/jsx/nativeSheet.mjs.map +1 -0
  239. package/dist/jsx/nativeSheet.native.js +106 -0
  240. package/dist/jsx/nativeSheet.native.js.map +1 -0
  241. package/dist/jsx/setupGestureHandler.mjs +26 -0
  242. package/dist/jsx/setupGestureHandler.mjs.map +1 -0
  243. package/dist/jsx/setupGestureHandler.native.js +55 -0
  244. package/dist/jsx/setupGestureHandler.native.js.map +1 -0
  245. package/dist/jsx/types.mjs +2 -0
  246. package/dist/jsx/types.mjs.map +1 -0
  247. package/dist/jsx/types.native.js +21 -0
  248. package/dist/jsx/types.native.js.map +1 -0
  249. package/dist/jsx/useGestureHandlerPan.mjs +181 -0
  250. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -0
  251. package/dist/jsx/useGestureHandlerPan.native.js +213 -0
  252. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -0
  253. package/dist/jsx/useKeyboardControllerSheet.mjs +15 -0
  254. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -0
  255. package/dist/jsx/useKeyboardControllerSheet.native.js +132 -0
  256. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -0
  257. package/dist/jsx/useSheet.mjs +4 -0
  258. package/dist/jsx/useSheet.mjs.map +1 -0
  259. package/dist/jsx/useSheet.native.js +34 -0
  260. package/dist/jsx/useSheet.native.js.map +1 -0
  261. package/dist/jsx/useSheetController.mjs +15 -0
  262. package/dist/jsx/useSheetController.mjs.map +1 -0
  263. package/dist/jsx/useSheetController.native.js +55 -0
  264. package/dist/jsx/useSheetController.native.js.map +1 -0
  265. package/dist/jsx/useSheetOffscreenSize.mjs +38 -0
  266. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -0
  267. package/dist/jsx/useSheetOffscreenSize.native.js +70 -0
  268. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -0
  269. package/dist/jsx/useSheetOpenState.mjs +27 -0
  270. package/dist/jsx/useSheetOpenState.mjs.map +1 -0
  271. package/dist/jsx/useSheetOpenState.native.js +58 -0
  272. package/dist/jsx/useSheetOpenState.native.js.map +1 -0
  273. package/dist/jsx/useSheetProviderProps.mjs +145 -0
  274. package/dist/jsx/useSheetProviderProps.mjs.map +1 -0
  275. package/dist/jsx/useSheetProviderProps.native.js +196 -0
  276. package/dist/jsx/useSheetProviderProps.native.js.map +1 -0
  277. package/dist/jsx/useSheetScrollViewGestures.mjs +141 -0
  278. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -0
  279. package/dist/jsx/useSheetScrollViewGestures.native.js +159 -0
  280. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -0
  281. package/package.json +36 -26
  282. package/src/Sheet.tsx +3 -3
  283. package/src/SheetImplementationCustom.tsx +5 -5
  284. package/src/createSheet.tsx +9 -9
  285. package/src/setupGestureHandler.ts +2 -2
  286. package/src/useSheetProviderProps.tsx +4 -4
  287. package/types/GestureDetectorWrapper.d.ts +1 -1
  288. package/types/GestureDetectorWrapper.d.ts.map +1 -0
  289. package/types/GestureSheetContext.d.ts +1 -1
  290. package/types/GestureSheetContext.d.ts.map +1 -0
  291. package/types/Sheet.d.ts +15 -15
  292. package/types/Sheet.d.ts.map +1 -0
  293. package/types/SheetContext.d.ts +4 -4
  294. package/types/SheetContext.d.ts.map +1 -0
  295. package/types/SheetController.d.ts +2 -1
  296. package/types/SheetController.d.ts.map +1 -0
  297. package/types/SheetImplementationCustom.d.ts.map +1 -0
  298. package/types/SheetScrollView.d.ts +1 -1
  299. package/types/SheetScrollView.d.ts.map +1 -0
  300. package/types/constants.d.ts.map +1 -0
  301. package/types/contexts.d.ts.map +1 -0
  302. package/types/controller.d.ts.map +1 -0
  303. package/types/createSheet.d.ts +11 -11
  304. package/types/createSheet.d.ts.map +1 -0
  305. package/types/gestureState.d.ts.map +1 -0
  306. package/types/helpers.d.ts.map +1 -0
  307. package/types/index.d.ts.map +1 -0
  308. package/types/nativeSheet.d.ts.map +1 -0
  309. package/types/setupGestureHandler.d.ts.map +1 -0
  310. package/types/types.d.ts.map +1 -0
  311. package/types/useGestureHandlerPan.d.ts.map +1 -0
  312. package/types/useKeyboardControllerSheet.d.ts.map +1 -0
  313. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -0
  314. package/types/useSheet.d.ts.map +1 -0
  315. package/types/useSheetController.d.ts.map +1 -0
  316. package/types/useSheetOffscreenSize.d.ts.map +1 -0
  317. package/types/useSheetOpenState.d.ts.map +1 -0
  318. package/types/useSheetProviderProps.d.ts +3 -3
  319. package/types/useSheetProviderProps.d.ts.map +1 -0
  320. package/types/useSheetScrollViewGestures.d.ts.map +1 -0
  321. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -0
  322. package/controller/index.cjs +0 -2
  323. package/controller/index.d.ts +0 -5
  324. package/controller/index.js +0 -2
  325. package/controller/index.native.cjs +0 -2
  326. package/controller/index.native.js +0 -2
  327. package/next.md +0 -78
  328. package/setup-gesture-handler/index.cjs +0 -2
  329. package/setup-gesture-handler/index.js +0 -2
  330. package/setup-gesture-handler/index.native.cjs +0 -2
  331. package/setup-gesture-handler/index.native.js +0 -2
  332. package/tsconfig.json +0 -56
@@ -0,0 +1,70 @@
1
+ import { YStack } from "@hanzogui/stacks";
2
+ import { useEffect, useRef } from "react";
3
+ import { View } from "react-native-web";
4
+ import { SheetProvider } from "./SheetContext.mjs";
5
+ import { useSheetOpenState } from "./useSheetOpenState.mjs";
6
+ import { useSheetProviderProps } from "./useSheetProviderProps.mjs";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ const nativeSheets = {
9
+ ios: null
10
+ };
11
+ function getNativeSheet(platform) {
12
+ return nativeSheets[platform];
13
+ }
14
+ function setupNativeSheet(platform, RNIOSModal) {
15
+ const {
16
+ ModalSheetView,
17
+ ModalSheetViewMainContent
18
+ } = RNIOSModal;
19
+ if (platform === "ios") {
20
+ nativeSheets[platform] = props => {
21
+ const state = useSheetOpenState(props);
22
+ const providerProps = useSheetProviderProps(props, state);
23
+ const {
24
+ open,
25
+ setOpen
26
+ } = state;
27
+ const ref = useRef(void 0);
28
+ useEffect(() => {
29
+ if (open) {
30
+ ref.current?.presentModal();
31
+ } else {
32
+ ref.current?.dismissModal();
33
+ }
34
+ }, [open]);
35
+ function setOpenInternal(next) {
36
+ props.onOpenChange?.(open);
37
+ setOpen(next);
38
+ }
39
+ return /* @__PURE__ */jsx(Fragment, {
40
+ children: /* @__PURE__ */jsxs(SheetProvider, {
41
+ setHasScrollView: emptyFn,
42
+ ...providerProps,
43
+ onlyShowFrame: true,
44
+ children: [/* @__PURE__ */jsx(ModalSheetView, {
45
+ ref,
46
+ onModalDidDismiss: () => setOpenInternal(false),
47
+ children: /* @__PURE__ */jsx(ModalSheetViewMainContent, {
48
+ children: /* @__PURE__ */jsx(View, {
49
+ style: {
50
+ flex: 1
51
+ },
52
+ children: props.children
53
+ })
54
+ })
55
+ }), /* @__PURE__ */jsx(YStack, {
56
+ position: "absolute",
57
+ opacity: 0,
58
+ pointerEvents: "none",
59
+ width: 0,
60
+ height: 0,
61
+ children: props.children
62
+ })]
63
+ })
64
+ });
65
+ };
66
+ }
67
+ }
68
+ const emptyFn = () => {};
69
+ export { getNativeSheet, setupNativeSheet };
70
+ //# sourceMappingURL=nativeSheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["YStack","useEffect","useRef","View","SheetProvider","useSheetOpenState","useSheetProviderProps","Fragment","jsx","jsxs","nativeSheets","ios","getNativeSheet","platform","setupNativeSheet","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","providerProps","open","setOpen","ref","current","presentModal","dismissModal","setOpenInternal","next","onOpenChange","children","setHasScrollView","emptyFn","onlyShowFrame","onModalDidDismiss","style","flex","position","opacity","pointerEvents","width","height"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AAEvB,SAASC,SAAA,EAAWC,MAAA,QAAc;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,aAAA,QAAqB;AAE9B,SAASC,iBAAA,QAAyB;AAClC,SAASC,qBAAA,QAA6B;AAqD9B,SAAAC,QAAA,EAIQC,GAAA,EAHNC,IAAA,QADF;AA/CR,MAAMC,YAAA,GAAmF;EACvFC,GAAA,EAAK;AACP;AAEO,SAASC,eAAeC,QAAA,EAAgC;EAC7D,OAAOH,YAAA,CAAaG,QAAQ;AAC9B;AAEO,SAASC,iBACdD,QAAA,EACAE,UAAA,EACA;EACA,MAAM;IAAEC,cAAA;IAAgBC;EAA0B,IAAIF,UAAA;EAEtD,IAAIF,QAAA,KAAa,OAAO;IACtBH,YAAA,CAAaG,QAAQ,IAAKK,KAAA,IAAsB;MAC9C,MAAMC,KAAA,GAAQd,iBAAA,CAAkBa,KAAK;MACrC,MAAME,aAAA,GAAgBd,qBAAA,CAAsBY,KAAA,EAAOC,KAAK;MAIxD,MAAM;QAAEE,IAAA;QAAMC;MAAQ,IAAIH,KAAA;MAC1B,MAAMI,GAAA,GAAMrB,MAAA,CAGT,MAAS;MAEZD,SAAA,CAAU,MAAM;QACd,IAAIoB,IAAA,EAAM;UACRE,GAAA,CAAIC,OAAA,EAASC,YAAA,CAAa;QAC5B,OAAO;UACLF,GAAA,CAAIC,OAAA,EAASE,YAAA,CAAa;QAC5B;MACF,GAAG,CAACL,IAAI,CAAC;MAET,SAASM,gBAAgBC,IAAA,EAAe;QACtCV,KAAA,CAAMW,YAAA,GAAeR,IAAI;QACzBC,OAAA,CAAQM,IAAI;MACd;MAQA,OACE,eAAApB,GAAA,CAAAD,QAAA;QACEuB,QAAA,iBAAArB,IAAA,CAACL,aAAA;UAAc2B,gBAAA,EAAkBC,OAAA;UAAU,GAAGZ,aAAA;UAAea,aAAA,EAAa;UACxEH,QAAA,kBAAAtB,GAAA,CAACQ,cAAA;YAAeO,GAAA;YAAUW,iBAAA,EAAmBA,CAAA,KAAMP,eAAA,CAAgB,KAAK;YACtEG,QAAA,iBAAAtB,GAAA,CAACS,yBAAA;cACCa,QAAA,iBAAAtB,GAAA,CAACL,IAAA;gBAAKgC,KAAA,EAAO;kBAAEC,IAAA,EAAM;gBAAE;gBAAIN,QAAA,EAAAZ,KAAA,CAAMY;cAAA,CAAS;YAAA,CAC5C;UAAA,CACF,GAIA,eAAAtB,GAAA,CAACR,MAAA;YACCqC,QAAA,EAAS;YACTC,OAAA,EAAS;YACTC,aAAA,EAAc;YACdC,KAAA,EAAO;YACPC,MAAA,EAAQ;YAEPX,QAAA,EAAAZ,KAAA,CAAMY;UAAA,CACT;QAAA,CACF;MAAA,CACF;IAEJ;EACF;AACF;AAEA,MAAME,OAAA,GAAUA,CAAA,KAAM,CAEtB","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var nativeSheet_exports = {};
26
+ __export(nativeSheet_exports, {
27
+ getNativeSheet: () => getNativeSheet,
28
+ setupNativeSheet: () => setupNativeSheet
29
+ });
30
+ module.exports = __toCommonJS(nativeSheet_exports);
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var import_stacks = require("@hanzogui/stacks");
33
+ var import_react = require("react");
34
+ var import_react_native = require("react-native");
35
+ var import_SheetContext = require("./SheetContext.native.js");
36
+ var import_useSheetOpenState = require("./useSheetOpenState.native.js");
37
+ var import_useSheetProviderProps = require("./useSheetProviderProps.native.js");
38
+ var nativeSheets = {
39
+ ios: null
40
+ };
41
+ function getNativeSheet(platform) {
42
+ return nativeSheets[platform];
43
+ }
44
+ function setupNativeSheet(platform, RNIOSModal) {
45
+ var {
46
+ ModalSheetView,
47
+ ModalSheetViewMainContent
48
+ } = RNIOSModal;
49
+ if (platform === "ios") {
50
+ nativeSheets[platform] = function (props) {
51
+ var state = (0, import_useSheetOpenState.useSheetOpenState)(props);
52
+ var providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);
53
+ var {
54
+ open,
55
+ setOpen
56
+ } = state;
57
+ var ref = (0, import_react.useRef)(void 0);
58
+ (0, import_react.useEffect)(function () {
59
+ if (open) {
60
+ var _ref_current;
61
+ (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.presentModal();
62
+ } else {
63
+ var _ref_current1;
64
+ (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.dismissModal();
65
+ }
66
+ }, [open]);
67
+ function setOpenInternal(next) {
68
+ var _props_onOpenChange;
69
+ (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, open);
70
+ setOpen(next);
71
+ }
72
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
73
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, {
74
+ setHasScrollView: emptyFn,
75
+ ...providerProps,
76
+ onlyShowFrame: true,
77
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
78
+ ref,
79
+ onModalDidDismiss: function () {
80
+ return setOpenInternal(false);
81
+ },
82
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetViewMainContent, {
83
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
84
+ style: {
85
+ flex: 1
86
+ },
87
+ children: props.children
88
+ })
89
+ })
90
+ }), /* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
91
+ /* so just hiding it here for now... not great... */
92
+ /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
93
+ position: "absolute",
94
+ opacity: 0,
95
+ pointerEvents: "none",
96
+ width: 0,
97
+ height: 0,
98
+ children: props.children
99
+ })]
100
+ })
101
+ });
102
+ };
103
+ }
104
+ }
105
+ var emptyFn = function () {};
106
+ //# sourceMappingURL=nativeSheet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","nativeSheet_exports","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAET,IAAAA,SAAS,GAAAC,MAAW,CAAAC,cAAc;AAClC,IAAAC,gBAAS,GAAYF,MAAA,CAAAG,wBAAA;AACrB,IAAAC,iBAAS,GAAAJ,MAAqB,CAAAK,mBAAA;AAE9B,IAAAC,YAAS,GAAAN,MAAA,CAAAO,SAAyB,CAAAC,cAAA;AAClC,IAAAC,QAAS,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EAqDD,SAAAC,IAAA,IAIQD,GAAA,EAnDhBZ,SAAM,CAAAW,MAAA,EAAmFE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAEzF,IAAAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAEO,IAAAF,IAAS,WAAAA,IAAe,aAAgC,WAAAA,IAAA;IAC7D,KAAO,IAAAG,GAAA,IAAAhB,iBAAqB,CAAAa,IAAA,GAC9B,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAEOnB,SAAS,CAAAiB,EAAA,EAAAI,GAAA,EACd;MAAAP,GAAA,EAAAA,CAAA,KACAI,IAAA,CAAAG,GACA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACA;EAEA,OAAIE,EAAA;AACF;AACE,IAAAM,YAAM,GAAQC,GAAA,IAAAR,WAAkB,CAAAhB,SAAK;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACrC,IAAAE,mBAAM,KAAgB;AAItBhB,QAAA,CAAAgB,mBAAsB;EACtBC,cAAM,EAAMA,CAAA,KAAAA,cAGA;EAEZC,gBAAU,EAAAA,CAAA,KAAMA;AACd;AACEC,MAAA,CAAAC,OAAI,GAAAP,YAAS,CAAAG,mBAAa;AAAA,IAAAK,kBACrB,GAAAC,OAAA;AACL,IAAAC,aAAI,GAAAD,OAAS,mBAAa;AAAA,IAAAE,YAC5B,GAAAF,OAAA;AAAA,IAAAG,mBACO,GAAAH,OAAA;AAET,IAAAI,mBAAS,GAAAJ,OAAgB,2BAAe;AACtC,IAAAK,wBAAM,GAAeL,OAAI;AACzB,IAAAM,4BAAY,GAAAN,OAAA;AAAA,IAAAO,YACd;EAQAC,GAAA;AAGM;AAIA,SAIAb,eAAAc,QAAA;EAAA,OAAAF,YAAC,CAAAE,QAAA;AAAA;AAAA,SAAAb,gBACUA,CAAAa,QAAA,EAAAC,UAAA;EAAA;IAAAC,cACA;IAAAC;EAAA,IAAAF,UAAA;EAAA,IAAAD,QACT;IAAcF,YACd,CAAAE,QAAO,cAAAI,KAAA;MAAA,IAAAC,KACP,KAAQ,EAAAT,wBAAA,CAAAU,iBAAA,EAAAF,KAAA;MAAA,IAAAG,aAEP,KAAM,EAAAV,4BAAA,CAAAW,qBAAA,EAAAJ,KAAA,EAAAC,KAAA;MAAA;QAAAI,IAAA;QAAAC;MAAA,IAAAL,KAAA;MAAA,IACTM,GAAA,OAAAlB,YAAA,CAAAmB,MAAA;MAAA,IACFnB,YACF,CAAAoB,SAAA;QAEJ,IAAAJ,IAAA;UACF,IAAAK,YAAA;UACF,CAAAA,YAAA,GAAAH,GAAA,CAAAI,OAAA,cAAAD,YAAA,uBAAAA,YAAA,CAAAE,YAAA;QAEM;UAEN,IAAAC,aAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { getGestureHandler } from "@hanzogui/native";
2
+ function isGestureHandlerEnabled() {
3
+ return getGestureHandler().isEnabled;
4
+ }
5
+ function setupGestureHandler(config) {
6
+ const g = globalThis;
7
+ if (g.__gui_sheet_gesture_handler_setup) {
8
+ return;
9
+ }
10
+ g.__gui_sheet_gesture_handler_setup = true;
11
+ const {
12
+ Gesture,
13
+ GestureDetector,
14
+ ScrollView
15
+ } = config;
16
+ if (Gesture && GestureDetector) {
17
+ getGestureHandler().set({
18
+ enabled: true,
19
+ Gesture,
20
+ GestureDetector,
21
+ ScrollView: ScrollView || null
22
+ });
23
+ }
24
+ }
25
+ export { isGestureHandlerEnabled, setupGestureHandler };
26
+ //# sourceMappingURL=setupGestureHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getGestureHandler","isGestureHandlerEnabled","isEnabled","setupGestureHandler","config","g","globalThis","__gui_sheet_gesture_handler_setup","Gesture","GestureDetector","ScrollView","set","enabled"],"sources":["../../src/setupGestureHandler.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,iBAAA,QAAyB;AAE3B,SAASC,wBAAA,EAAmC;EACjD,OAAOD,iBAAA,CAAkB,EAAEE,SAAA;AAC7B;AAQO,SAASC,oBAAoBC,MAAA,EAAyC;EAC3E,MAAMC,CAAA,GAAIC,UAAA;EACV,IAAID,CAAA,CAAEE,iCAAA,EAAmC;IACvC;EACF;EACAF,CAAA,CAAEE,iCAAA,GAAoC;EAEtC,MAAM;IAAEC,OAAA;IAASC,eAAA;IAAiBC;EAAW,IAAIN,MAAA;EAEjD,IAAII,OAAA,IAAWC,eAAA,EAAiB;IAC9BT,iBAAA,CAAkB,EAAEW,GAAA,CAAI;MACtBC,OAAA,EAAS;MACTJ,OAAA;MACAC,eAAA;MACAC,UAAA,EAAYA,UAAA,IAAc;IAC5B,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var setupGestureHandler_exports = {};
26
+ __export(setupGestureHandler_exports, {
27
+ isGestureHandlerEnabled: () => isGestureHandlerEnabled,
28
+ setupGestureHandler: () => setupGestureHandler
29
+ });
30
+ module.exports = __toCommonJS(setupGestureHandler_exports);
31
+ var import_native = require("@hanzogui/native");
32
+ function isGestureHandlerEnabled() {
33
+ return (0, import_native.getGestureHandler)().isEnabled;
34
+ }
35
+ function setupGestureHandler(config) {
36
+ var g = globalThis;
37
+ if (g.__gui_sheet_gesture_handler_setup) {
38
+ return;
39
+ }
40
+ g.__gui_sheet_gesture_handler_setup = true;
41
+ var {
42
+ Gesture,
43
+ GestureDetector,
44
+ ScrollView
45
+ } = config;
46
+ if (Gesture && GestureDetector) {
47
+ (0, import_native.getGestureHandler)().set({
48
+ enabled: true,
49
+ Gesture,
50
+ GestureDetector,
51
+ ScrollView: ScrollView || null
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=setupGestureHandler.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","setupGestureHandler_exports"],"sources":["../../src/setupGestureHandler.ts"],"sourcesContent":[null],"mappings":"AAIA,YAAS;;AAEF,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAmC;AACjD,IAAAC,gBAAO,GAAAF,MAAoB,CAAAG,wBAAA;AAC7B,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAQO,IAAAC,YAAS,GAAAN,MAAA,CAAAO,SAAoB,CAAAC,cAAyC;AAC3E,IAAAC,QAAU,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACV,KAAI,IAAEC,IAAA,IAAAD,GAAA,EACJZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAEF,IAAEC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAoC;EAEtC,IAAAF,IAAQ,WAASA,IAAA,aAAiB,WAAWA,IAAI;IAEjD,KAAI,IAAAG,GAAA,IAAWhB,iBAAiB,CAAAa,IAAA,GAC9B,KAAAX,YAAkB,CAAEe,IAAI,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACtBnB,SAAS,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EACT,OACAE,EAAA;AAAA;AAC0B,IAC5BM,YAAC,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACHE,2BAAA;AACFhB,QAAA,CAAAgB,2BAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
17
+ value: true
18
+ }), mod);
19
+ var types_exports = {};
20
+ module.exports = __toCommonJS(types_exports);
21
+ //# sourceMappingURL=types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,181 @@
1
+ import { useCallback, useMemo, useRef } from "react";
2
+ import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.mjs";
3
+ const AT_TOP_THRESHOLD = 5;
4
+ function useGestureHandlerPan(config) {
5
+ const {
6
+ positions,
7
+ frameSize,
8
+ setPosition,
9
+ animateTo,
10
+ stopSpring,
11
+ scrollBridge,
12
+ setIsDragging,
13
+ getCurrentPosition,
14
+ resisted,
15
+ disableDrag,
16
+ isShowingInnerSheet,
17
+ setAnimatedPosition,
18
+ scrollGestureRef
19
+ } = config;
20
+ const gestureHandlerEnabled = isGestureHandlerEnabled();
21
+ const panGestureRef = useRef(null);
22
+ const gestureStateRef = useRef({
23
+ startY: 0,
24
+ // track last translation when pan was active (for position calculation after handoff)
25
+ lastPanTranslationY: 0,
26
+ // accumulated position offset from all pan movements
27
+ accumulatedOffset: 0,
28
+ // track previous translation for direction detection (like actions-sheet)
29
+ prevTranslationY: 0,
30
+ // track if scroll was engaged (scrollY > 0) at some point
31
+ scrollEngaged: false,
32
+ // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
33
+ // causing positions to revert. Frozen positions ensure stable snap calculation.
34
+ frozenPositions: [],
35
+ frozenMinY: 0,
36
+ // whether pan gesture actually started (vs just a tap in onBegin)
37
+ panStarted: false
38
+ });
39
+ const onStart = useCallback(() => {
40
+ stopSpring();
41
+ }, [stopSpring]);
42
+ const onEnd = useCallback((closestPoint, animationOverride) => {
43
+ setIsDragging(false);
44
+ scrollBridge.setParentDragging(false);
45
+ scrollBridge.setScrollEnabled?.(true);
46
+ setPosition(closestPoint);
47
+ animateTo(closestPoint, animationOverride);
48
+ }, [setIsDragging, scrollBridge, setPosition, animateTo]);
49
+ const panGesture = useMemo(() => {
50
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
51
+ return null;
52
+ }
53
+ const {
54
+ Gesture
55
+ } = getGestureHandlerState();
56
+ if (!Gesture) {
57
+ return null;
58
+ }
59
+ const minY = positions[0];
60
+ const gs = gestureStateRef.current;
61
+ const gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(() => {
62
+ gs.panStarted = false;
63
+ if (config.pauseKeyboardHandler) {
64
+ config.pauseKeyboardHandler.current = true;
65
+ }
66
+ const pos = getCurrentPosition();
67
+ const atTop = pos <= minY + AT_TOP_THRESHOLD;
68
+ const currentScrollY = scrollBridge.y;
69
+ gs.startY = pos;
70
+ gs.lastPanTranslationY = 0;
71
+ gs.accumulatedOffset = 0;
72
+ gs.prevTranslationY = 0;
73
+ gs.scrollEngaged = currentScrollY > 0;
74
+ gs.frozenPositions = [...positions];
75
+ gs.frozenMinY = minY;
76
+ if (!atTop) {
77
+ scrollBridge.setScrollEnabled?.(false, 0);
78
+ }
79
+ }).onStart(() => {
80
+ gs.panStarted = true;
81
+ setIsDragging(true);
82
+ scrollBridge.initialPosition = gs.startY;
83
+ onStart();
84
+ }).onChange(event => {
85
+ const {
86
+ translationY
87
+ } = event;
88
+ const isSwipingDown = gs.prevTranslationY < translationY;
89
+ const deltaY = translationY - gs.prevTranslationY;
90
+ gs.prevTranslationY = translationY;
91
+ const scrollY = scrollBridge.y;
92
+ if (scrollY > 0) {
93
+ gs.scrollEngaged = true;
94
+ }
95
+ const currentPos = gs.startY + gs.accumulatedOffset;
96
+ const isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
97
+ const nodeIsScrolling = scrollY > 0;
98
+ let panHandles = false;
99
+ const hasScrollableContent = scrollBridge.hasScrollableContent !== false;
100
+ if (!isCurrentlyAtTop) {
101
+ if (isSwipingDown) {
102
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
103
+ } else {
104
+ panHandles = true;
105
+ }
106
+ } else {
107
+ if (isSwipingDown) {
108
+ if (nodeIsScrolling && hasScrollableContent) {
109
+ panHandles = false;
110
+ } else if (gs.scrollEngaged && hasScrollableContent) {
111
+ panHandles = true;
112
+ } else {
113
+ panHandles = true;
114
+ }
115
+ } else {
116
+ if (hasScrollableContent) {
117
+ panHandles = false;
118
+ } else {
119
+ panHandles = true;
120
+ }
121
+ }
122
+ }
123
+ if (panHandles) {
124
+ const lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
125
+ scrollBridge.setScrollEnabled?.(false, lockTo);
126
+ gs.accumulatedOffset += deltaY;
127
+ const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
128
+ scrollBridge.paneY = newPosition;
129
+ setAnimatedPosition(newPosition);
130
+ scrollBridge.setParentDragging(newPosition > minY);
131
+ } else {
132
+ scrollBridge.setScrollEnabled?.(true);
133
+ }
134
+ }).onEnd(event => {
135
+ const {
136
+ velocityY
137
+ } = event;
138
+ const currentPos = gs.startY + gs.accumulatedOffset;
139
+ scrollBridge.scrollLockY = void 0;
140
+ const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
141
+ const snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
142
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
143
+ onEnd(0);
144
+ return;
145
+ }
146
+ const velocity = velocityY / 1e3;
147
+ const projectedEnd = currentPos + frameSize * velocity * 0.2;
148
+ let closestPoint = 0;
149
+ let minDist = Number.POSITIVE_INFINITY;
150
+ for (let i = 0; i < snapPositions.length; i++) {
151
+ const pos = snapPositions[i];
152
+ const dist = Math.abs(projectedEnd - pos);
153
+ if (dist < minDist) {
154
+ minDist = dist;
155
+ closestPoint = i;
156
+ }
157
+ }
158
+ onEnd(closestPoint);
159
+ }).onFinalize(() => {
160
+ scrollBridge.scrollLockY = void 0;
161
+ if (gs.panStarted) {
162
+ setIsDragging(false);
163
+ } else {
164
+ if (config.pauseKeyboardHandler) {
165
+ config.pauseKeyboardHandler.current = false;
166
+ }
167
+ }
168
+ }).runOnJS(true);
169
+ if (scrollGestureRef?.current) {
170
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
171
+ }
172
+ return gesture;
173
+ }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
174
+ return {
175
+ panGesture,
176
+ panGestureRef,
177
+ gestureHandlerEnabled
178
+ };
179
+ }
180
+ export { useGestureHandlerPan };
181
+ //# sourceMappingURL=useGestureHandlerPan.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useRef","getGestureHandlerState","isGestureHandlerEnabled","AT_TOP_THRESHOLD","useGestureHandlerPan","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","panGestureRef","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","panStarted","onStart","onEnd","closestPoint","animationOverride","setParentDragging","setScrollEnabled","panGesture","Gesture","minY","gs","current","gesture","Pan","withRef","activeOffsetY","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","lockTo","newPosition","paneY","velocityY","scrollLockY","snapPositions","length","snapMinY","velocity","projectedEnd","minDist","Number","POSITIVE_INFINITY","i","dist","Math","abs","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}