@hanzogui/sheet 8.3.0 → 8.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/dist/cjs/GestureDetectorWrapper.js +23 -0
  2. package/dist/cjs/GestureDetectorWrapper.js.map +1 -0
  3. package/dist/cjs/GestureSheetContext.js +21 -0
  4. package/dist/cjs/GestureSheetContext.js.map +1 -0
  5. package/dist/cjs/Sheet.js +102 -0
  6. package/dist/cjs/Sheet.js.map +1 -0
  7. package/dist/cjs/SheetContext.js +8 -0
  8. package/dist/cjs/SheetContext.js.map +1 -0
  9. package/dist/cjs/SheetController.js +33 -0
  10. package/dist/cjs/SheetController.js.map +1 -0
  11. package/dist/cjs/SheetImplementationCustom.js +866 -0
  12. package/dist/cjs/SheetImplementationCustom.js.map +1 -0
  13. package/dist/cjs/SheetScrollView.js +278 -0
  14. package/dist/cjs/SheetScrollView.js.map +1 -0
  15. package/dist/cjs/constants.js +8 -0
  16. package/dist/cjs/constants.js.map +1 -0
  17. package/dist/cjs/contexts.js +10 -0
  18. package/dist/cjs/contexts.js.map +1 -0
  19. package/dist/cjs/controller.js +11 -0
  20. package/dist/cjs/controller.js.map +1 -0
  21. package/dist/cjs/createSheet.js +153 -0
  22. package/dist/cjs/createSheet.js.map +1 -0
  23. package/dist/cjs/gestureState.js +35 -0
  24. package/dist/cjs/gestureState.js.map +1 -0
  25. package/dist/cjs/helpers.js +29 -0
  26. package/dist/cjs/helpers.js.map +1 -0
  27. package/dist/cjs/index.js +19 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/cjs/keyboardAvoidance.js +67 -0
  30. package/dist/cjs/keyboardAvoidance.js.map +1 -0
  31. package/dist/cjs/nativeSheet.js +52 -0
  32. package/dist/cjs/nativeSheet.js.map +1 -0
  33. package/dist/cjs/package.json +1 -0
  34. package/dist/cjs/setupGestureHandler.js +31 -0
  35. package/dist/cjs/setupGestureHandler.js.map +1 -0
  36. package/dist/cjs/types.js +3 -0
  37. package/dist/cjs/types.js.map +1 -0
  38. package/dist/cjs/useGestureHandlerPan.js +356 -0
  39. package/dist/cjs/useGestureHandlerPan.js.map +1 -0
  40. package/dist/cjs/useKeyboardControllerSheet.js +124 -0
  41. package/dist/cjs/useKeyboardControllerSheet.js.map +1 -0
  42. package/dist/cjs/useSafeAreaInsets.js +16 -0
  43. package/dist/cjs/useSafeAreaInsets.js.map +1 -0
  44. package/dist/cjs/useSheet.js +7 -0
  45. package/dist/cjs/useSheet.js.map +1 -0
  46. package/dist/cjs/useSheetController.js +19 -0
  47. package/dist/cjs/useSheetController.js.map +1 -0
  48. package/dist/cjs/useSheetOffscreenSize.js +40 -0
  49. package/dist/cjs/useSheetOffscreenSize.js.map +1 -0
  50. package/dist/cjs/useSheetOpenState.js +29 -0
  51. package/dist/cjs/useSheetOpenState.js.map +1 -0
  52. package/dist/cjs/useSheetProviderProps.js +169 -0
  53. package/dist/cjs/useSheetProviderProps.js.map +1 -0
  54. package/dist/cjs/useSheetScrollViewGestures.js +195 -0
  55. package/dist/cjs/useSheetScrollViewGestures.js.map +1 -0
  56. package/dist/cjs/webViewport.js +108 -0
  57. package/dist/cjs/webViewport.js.map +1 -0
  58. package/dist/esm/GestureDetectorWrapper.js +20 -0
  59. package/dist/esm/GestureDetectorWrapper.js.map +1 -0
  60. package/dist/esm/GestureSheetContext.js +17 -0
  61. package/dist/esm/GestureSheetContext.js.map +1 -0
  62. package/dist/esm/Sheet.js +97 -0
  63. package/dist/esm/Sheet.js.map +1 -0
  64. package/dist/esm/SheetContext.js +5 -0
  65. package/dist/esm/SheetContext.js.map +1 -0
  66. package/dist/esm/SheetController.js +28 -0
  67. package/dist/esm/SheetController.js.map +1 -0
  68. package/dist/esm/SheetImplementationCustom.js +862 -0
  69. package/dist/esm/SheetImplementationCustom.js.map +1 -0
  70. package/dist/esm/SheetScrollView.js +274 -0
  71. package/dist/esm/SheetScrollView.js.map +1 -0
  72. package/dist/esm/constants.js +5 -0
  73. package/dist/esm/constants.js.map +1 -0
  74. package/dist/esm/contexts.js +6 -0
  75. package/dist/esm/contexts.js.map +1 -0
  76. package/dist/esm/controller.js +5 -0
  77. package/dist/esm/controller.js.map +1 -0
  78. package/dist/esm/createSheet.js +150 -0
  79. package/dist/esm/createSheet.js.map +1 -0
  80. package/dist/esm/gestureState.js +29 -0
  81. package/dist/esm/gestureState.js.map +1 -0
  82. package/dist/esm/helpers.js +26 -0
  83. package/dist/esm/helpers.js.map +1 -0
  84. package/dist/esm/index.js +13 -14
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/keyboardAvoidance.js +62 -0
  87. package/dist/esm/keyboardAvoidance.js.map +1 -0
  88. package/dist/esm/nativeSheet.js +48 -0
  89. package/dist/esm/nativeSheet.js.map +1 -0
  90. package/dist/esm/setupGestureHandler.js +27 -0
  91. package/dist/esm/setupGestureHandler.js.map +1 -0
  92. package/dist/esm/types.js +2 -0
  93. package/dist/esm/types.js.map +1 -0
  94. package/dist/esm/useGestureHandlerPan.js +353 -0
  95. package/dist/esm/useGestureHandlerPan.js.map +1 -0
  96. package/dist/esm/useKeyboardControllerSheet.js +121 -0
  97. package/dist/esm/useKeyboardControllerSheet.js.map +1 -0
  98. package/dist/esm/useSafeAreaInsets.js +11 -0
  99. package/dist/esm/useSafeAreaInsets.js.map +1 -0
  100. package/dist/esm/useSheet.js +3 -0
  101. package/dist/esm/useSheet.js.map +1 -0
  102. package/dist/esm/useSheetController.js +14 -0
  103. package/dist/esm/useSheetController.js.map +1 -0
  104. package/dist/esm/useSheetOffscreenSize.js +36 -0
  105. package/dist/esm/useSheetOffscreenSize.js.map +1 -0
  106. package/dist/esm/useSheetOpenState.js +25 -0
  107. package/dist/esm/useSheetOpenState.js.map +1 -0
  108. package/dist/esm/useSheetProviderProps.js +165 -0
  109. package/dist/esm/useSheetProviderProps.js.map +1 -0
  110. package/dist/esm/useSheetScrollViewGestures.js +192 -0
  111. package/dist/esm/useSheetScrollViewGestures.js.map +1 -0
  112. package/dist/esm/webViewport.js +98 -0
  113. package/dist/esm/webViewport.js.map +1 -0
  114. package/dist/native/GestureDetectorWrapper.js +20 -0
  115. package/dist/native/GestureDetectorWrapper.js.map +1 -0
  116. package/dist/native/GestureSheetContext.js +17 -0
  117. package/dist/native/GestureSheetContext.js.map +1 -0
  118. package/dist/native/Sheet.js +97 -0
  119. package/dist/native/Sheet.js.map +1 -0
  120. package/dist/native/SheetContext.js +5 -0
  121. package/dist/native/SheetContext.js.map +1 -0
  122. package/dist/native/SheetController.js +28 -0
  123. package/dist/native/SheetController.js.map +1 -0
  124. package/dist/native/SheetImplementationCustom.js +862 -0
  125. package/dist/native/SheetImplementationCustom.js.map +1 -0
  126. package/dist/native/SheetScrollView.js +274 -0
  127. package/dist/native/SheetScrollView.js.map +1 -0
  128. package/dist/native/constants.js +5 -0
  129. package/dist/native/constants.js.map +1 -0
  130. package/dist/native/contexts.js +6 -0
  131. package/dist/native/contexts.js.map +1 -0
  132. package/dist/native/controller.js +5 -0
  133. package/dist/native/controller.js.map +1 -0
  134. package/dist/native/createSheet.js +150 -0
  135. package/dist/native/createSheet.js.map +1 -0
  136. package/dist/native/gestureState.js +29 -0
  137. package/dist/native/gestureState.js.map +1 -0
  138. package/dist/native/helpers.js +26 -0
  139. package/dist/native/helpers.js.map +1 -0
  140. package/dist/native/index.js +13 -0
  141. package/dist/native/index.js.map +1 -0
  142. package/dist/native/keyboardAvoidance.js +62 -0
  143. package/dist/native/keyboardAvoidance.js.map +1 -0
  144. package/dist/native/nativeSheet.js +48 -0
  145. package/dist/native/nativeSheet.js.map +1 -0
  146. package/dist/native/setupGestureHandler.js +27 -0
  147. package/dist/native/setupGestureHandler.js.map +1 -0
  148. package/dist/native/types.js +2 -0
  149. package/dist/native/types.js.map +1 -0
  150. package/dist/native/useGestureHandlerPan.js +353 -0
  151. package/dist/native/useGestureHandlerPan.js.map +1 -0
  152. package/dist/native/useKeyboardControllerSheet.js +118 -0
  153. package/dist/native/useKeyboardControllerSheet.js.map +1 -0
  154. package/dist/native/useSafeAreaInsets.js +25 -0
  155. package/dist/native/useSafeAreaInsets.js.map +1 -0
  156. package/dist/native/useSheet.js +3 -0
  157. package/dist/native/useSheet.js.map +1 -0
  158. package/dist/native/useSheetController.js +14 -0
  159. package/dist/native/useSheetController.js.map +1 -0
  160. package/dist/native/useSheetOffscreenSize.js +36 -0
  161. package/dist/native/useSheetOffscreenSize.js.map +1 -0
  162. package/dist/native/useSheetOpenState.js +25 -0
  163. package/dist/native/useSheetOpenState.js.map +1 -0
  164. package/dist/native/useSheetProviderProps.js +165 -0
  165. package/dist/native/useSheetProviderProps.js.map +1 -0
  166. package/dist/native/useSheetScrollViewGestures.js +131 -0
  167. package/dist/native/useSheetScrollViewGestures.js.map +1 -0
  168. package/dist/native/webViewport.js +98 -0
  169. package/dist/native/webViewport.js.map +1 -0
  170. package/package.json +46 -49
  171. package/src/GestureDetectorWrapper.tsx +1 -1
  172. package/src/Sheet.tsx +4 -4
  173. package/src/SheetContext.tsx +2 -2
  174. package/src/SheetController.d.ts +7 -0
  175. package/src/SheetController.d.ts.map +1 -0
  176. package/src/SheetController.js +38 -0
  177. package/src/SheetController.js.map +1 -0
  178. package/src/SheetController.tsx +2 -2
  179. package/src/SheetImplementationCustom.tsx +14 -14
  180. package/src/SheetScrollView.tsx +6 -6
  181. package/src/controller.ts +2 -2
  182. package/src/createSheet.tsx +9 -9
  183. package/src/index.ts +12 -12
  184. package/src/nativeSheet.tsx +4 -4
  185. package/src/useGestureHandlerPan.tsx +3 -3
  186. package/src/useKeyboardControllerSheet.native.ts +1 -1
  187. package/src/useKeyboardControllerSheet.ts +2 -2
  188. package/src/useSafeAreaInsets.native.ts +1 -1
  189. package/src/useSheet.tsx +1 -1
  190. package/src/useSheetController.d.ts +20 -0
  191. package/src/useSheetController.d.ts.map +1 -0
  192. package/src/useSheetController.js +14 -0
  193. package/src/useSheetController.js.map +1 -0
  194. package/src/useSheetOffscreenSize.tsx +1 -1
  195. package/src/useSheetOpenState.tsx +2 -2
  196. package/src/useSheetProviderProps.tsx +2 -2
  197. package/src/useSheetScrollViewGestures.native.ts +1 -1
  198. package/src/useSheetScrollViewGestures.ts +1 -1
  199. package/types/GestureDetectorWrapper.d.ts +1 -1
  200. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  201. package/types/GestureSheetContext.d.ts +1 -1
  202. package/types/GestureSheetContext.d.ts.map +1 -1
  203. package/types/Sheet.d.ts +81 -89
  204. package/types/Sheet.d.ts.map +1 -1
  205. package/types/SheetContext.d.ts +5 -5
  206. package/types/SheetContext.d.ts.map +1 -1
  207. package/types/SheetController.d.ts +3 -2
  208. package/types/SheetController.d.ts.map +1 -1
  209. package/types/SheetImplementationCustom.d.ts +3 -3
  210. package/types/SheetImplementationCustom.d.ts.map +1 -1
  211. package/types/SheetScrollView.d.ts +6 -6
  212. package/types/controller.d.ts +2 -2
  213. package/types/controller.d.ts.map +1 -1
  214. package/types/createSheet.d.ts +85 -85
  215. package/types/createSheet.d.ts.map +1 -1
  216. package/types/index.d.ts +12 -12
  217. package/types/index.d.ts.map +1 -1
  218. package/types/nativeSheet.d.ts +1 -1
  219. package/types/nativeSheet.d.ts.map +1 -1
  220. package/types/useGestureHandlerPan.d.ts +1 -1
  221. package/types/useGestureHandlerPan.d.ts.map +1 -1
  222. package/types/useKeyboardControllerSheet.d.ts +1 -1
  223. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  224. package/types/useKeyboardControllerSheet.native.d.ts +1 -1
  225. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  226. package/types/useSafeAreaInsets.native.d.ts +1 -1
  227. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  228. package/types/useSheet.d.ts +1 -1
  229. package/types/useSheet.d.ts.map +1 -1
  230. package/types/useSheetOffscreenSize.d.ts +1 -1
  231. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  232. package/types/useSheetOpenState.d.ts +2 -2
  233. package/types/useSheetOpenState.d.ts.map +1 -1
  234. package/types/useSheetProviderProps.d.ts +3 -3
  235. package/types/useSheetProviderProps.d.ts.map +1 -1
  236. package/types/useSheetScrollViewGestures.d.ts +1 -1
  237. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  238. package/types/useSheetScrollViewGestures.native.d.ts +1 -1
  239. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
  240. package/controller/index.cjs +0 -2
  241. package/controller/index.d.ts +0 -5
  242. package/controller/index.js +0 -2
  243. package/controller/index.native.cjs +0 -2
  244. package/controller/index.native.js +0 -2
  245. package/dist/cjs/GestureDetectorWrapper.cjs +0 -54
  246. package/dist/cjs/GestureDetectorWrapper.native.js +0 -58
  247. package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
  248. package/dist/cjs/GestureSheetContext.cjs +0 -54
  249. package/dist/cjs/GestureSheetContext.native.js +0 -58
  250. package/dist/cjs/GestureSheetContext.native.js.map +0 -1
  251. package/dist/cjs/Sheet.cjs +0 -119
  252. package/dist/cjs/Sheet.native.js +0 -122
  253. package/dist/cjs/Sheet.native.js.map +0 -1
  254. package/dist/cjs/SheetContext.cjs +0 -34
  255. package/dist/cjs/SheetContext.native.js +0 -37
  256. package/dist/cjs/SheetContext.native.js.map +0 -1
  257. package/dist/cjs/SheetController.cjs +0 -73
  258. package/dist/cjs/SheetController.native.js +0 -79
  259. package/dist/cjs/SheetController.native.js.map +0 -1
  260. package/dist/cjs/SheetImplementationCustom.cjs +0 -652
  261. package/dist/cjs/SheetImplementationCustom.native.js +0 -694
  262. package/dist/cjs/SheetImplementationCustom.native.js.map +0 -1
  263. package/dist/cjs/SheetScrollView.cjs +0 -337
  264. package/dist/cjs/SheetScrollView.native.js +0 -348
  265. package/dist/cjs/SheetScrollView.native.js.map +0 -1
  266. package/dist/cjs/constants.cjs +0 -34
  267. package/dist/cjs/constants.native.js +0 -37
  268. package/dist/cjs/constants.native.js.map +0 -1
  269. package/dist/cjs/contexts.cjs +0 -44
  270. package/dist/cjs/contexts.native.js +0 -47
  271. package/dist/cjs/contexts.native.js.map +0 -1
  272. package/dist/cjs/controller.cjs +0 -31
  273. package/dist/cjs/controller.native.js +0 -34
  274. package/dist/cjs/controller.native.js.map +0 -1
  275. package/dist/cjs/createSheet.cjs +0 -194
  276. package/dist/cjs/createSheet.native.js +0 -204
  277. package/dist/cjs/createSheet.native.js.map +0 -1
  278. package/dist/cjs/gestureState.cjs +0 -52
  279. package/dist/cjs/gestureState.native.js +0 -56
  280. package/dist/cjs/gestureState.native.js.map +0 -1
  281. package/dist/cjs/helpers.cjs +0 -35
  282. package/dist/cjs/helpers.native.js +0 -39
  283. package/dist/cjs/helpers.native.js.map +0 -1
  284. package/dist/cjs/index.cjs +0 -41
  285. package/dist/cjs/index.native.js +0 -44
  286. package/dist/cjs/index.native.js.map +0 -1
  287. package/dist/cjs/keyboardAvoidance.cjs +0 -93
  288. package/dist/cjs/keyboardAvoidance.native.js +0 -99
  289. package/dist/cjs/keyboardAvoidance.native.js.map +0 -1
  290. package/dist/cjs/nativeSheet.cjs +0 -99
  291. package/dist/cjs/nativeSheet.native.js +0 -109
  292. package/dist/cjs/nativeSheet.native.js.map +0 -1
  293. package/dist/cjs/setupGestureHandler.cjs +0 -55
  294. package/dist/cjs/setupGestureHandler.native.js +0 -60
  295. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  296. package/dist/cjs/types.cjs +0 -18
  297. package/dist/cjs/types.native.js +0 -21
  298. package/dist/cjs/types.native.js.map +0 -1
  299. package/dist/cjs/useGestureHandlerPan.cjs +0 -274
  300. package/dist/cjs/useGestureHandlerPan.native.js +0 -286
  301. package/dist/cjs/useGestureHandlerPan.native.js.map +0 -1
  302. package/dist/cjs/useKeyboardControllerSheet.cjs +0 -102
  303. package/dist/cjs/useKeyboardControllerSheet.native.js +0 -132
  304. package/dist/cjs/useKeyboardControllerSheet.native.js.map +0 -1
  305. package/dist/cjs/useSafeAreaInsets.cjs +0 -44
  306. package/dist/cjs/useSafeAreaInsets.native.js +0 -48
  307. package/dist/cjs/useSafeAreaInsets.native.js.map +0 -1
  308. package/dist/cjs/useSheet.cjs +0 -29
  309. package/dist/cjs/useSheet.native.js +0 -34
  310. package/dist/cjs/useSheet.native.js.map +0 -1
  311. package/dist/cjs/useSheetController.cjs +0 -52
  312. package/dist/cjs/useSheetController.native.js +0 -55
  313. package/dist/cjs/useSheetController.native.js.map +0 -1
  314. package/dist/cjs/useSheetOffscreenSize.cjs +0 -63
  315. package/dist/cjs/useSheetOffscreenSize.native.js +0 -70
  316. package/dist/cjs/useSheetOffscreenSize.native.js.map +0 -1
  317. package/dist/cjs/useSheetOpenState.cjs +0 -52
  318. package/dist/cjs/useSheetOpenState.native.js +0 -58
  319. package/dist/cjs/useSheetOpenState.native.js.map +0 -1
  320. package/dist/cjs/useSheetProviderProps.cjs +0 -181
  321. package/dist/cjs/useSheetProviderProps.native.js +0 -196
  322. package/dist/cjs/useSheetProviderProps.native.js.map +0 -1
  323. package/dist/cjs/useSheetScrollViewGestures.cjs +0 -191
  324. package/dist/cjs/useSheetScrollViewGestures.native.js +0 -163
  325. package/dist/cjs/useSheetScrollViewGestures.native.js.map +0 -1
  326. package/dist/cjs/webViewport.cjs +0 -75
  327. package/dist/cjs/webViewport.native.js +0 -81
  328. package/dist/cjs/webViewport.native.js.map +0 -1
  329. package/dist/esm/GestureDetectorWrapper.mjs +0 -29
  330. package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
  331. package/dist/esm/GestureDetectorWrapper.native.js +0 -30
  332. package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
  333. package/dist/esm/GestureSheetContext.mjs +0 -28
  334. package/dist/esm/GestureSheetContext.mjs.map +0 -1
  335. package/dist/esm/GestureSheetContext.native.js +0 -29
  336. package/dist/esm/GestureSheetContext.native.js.map +0 -1
  337. package/dist/esm/Sheet.mjs +0 -89
  338. package/dist/esm/Sheet.mjs.map +0 -1
  339. package/dist/esm/Sheet.native.js +0 -89
  340. package/dist/esm/Sheet.native.js.map +0 -1
  341. package/dist/esm/SheetContext.mjs +0 -6
  342. package/dist/esm/SheetContext.mjs.map +0 -1
  343. package/dist/esm/SheetContext.native.js +0 -6
  344. package/dist/esm/SheetContext.native.js.map +0 -1
  345. package/dist/esm/SheetController.mjs +0 -37
  346. package/dist/esm/SheetController.mjs.map +0 -1
  347. package/dist/esm/SheetController.native.js +0 -40
  348. package/dist/esm/SheetController.native.js.map +0 -1
  349. package/dist/esm/SheetImplementationCustom.mjs +0 -611
  350. package/dist/esm/SheetImplementationCustom.mjs.map +0 -1
  351. package/dist/esm/SheetImplementationCustom.native.js +0 -643
  352. package/dist/esm/SheetImplementationCustom.native.js.map +0 -1
  353. package/dist/esm/SheetScrollView.mjs +0 -301
  354. package/dist/esm/SheetScrollView.mjs.map +0 -1
  355. package/dist/esm/SheetScrollView.native.js +0 -309
  356. package/dist/esm/SheetScrollView.native.js.map +0 -1
  357. package/dist/esm/constants.mjs +0 -6
  358. package/dist/esm/constants.mjs.map +0 -1
  359. package/dist/esm/constants.native.js +0 -6
  360. package/dist/esm/constants.native.js.map +0 -1
  361. package/dist/esm/contexts.mjs +0 -7
  362. package/dist/esm/contexts.mjs.map +0 -1
  363. package/dist/esm/contexts.native.js +0 -7
  364. package/dist/esm/contexts.native.js.map +0 -1
  365. package/dist/esm/controller.mjs +0 -4
  366. package/dist/esm/controller.mjs.map +0 -1
  367. package/dist/esm/controller.native.js +0 -4
  368. package/dist/esm/controller.native.js.map +0 -1
  369. package/dist/esm/createSheet.mjs +0 -168
  370. package/dist/esm/createSheet.mjs.map +0 -1
  371. package/dist/esm/createSheet.native.js +0 -176
  372. package/dist/esm/createSheet.native.js.map +0 -1
  373. package/dist/esm/gestureState.mjs +0 -24
  374. package/dist/esm/gestureState.mjs.map +0 -1
  375. package/dist/esm/gestureState.native.js +0 -25
  376. package/dist/esm/gestureState.native.js.map +0 -1
  377. package/dist/esm/helpers.mjs +0 -10
  378. package/dist/esm/helpers.mjs.map +0 -1
  379. package/dist/esm/helpers.native.js +0 -11
  380. package/dist/esm/helpers.native.js.map +0 -1
  381. package/dist/esm/index.mjs +0 -14
  382. package/dist/esm/index.mjs.map +0 -1
  383. package/dist/esm/index.native.js +0 -14
  384. package/dist/esm/index.native.js.map +0 -1
  385. package/dist/esm/keyboardAvoidance.mjs +0 -66
  386. package/dist/esm/keyboardAvoidance.mjs.map +0 -1
  387. package/dist/esm/keyboardAvoidance.native.js +0 -69
  388. package/dist/esm/keyboardAvoidance.native.js.map +0 -1
  389. package/dist/esm/nativeSheet.mjs +0 -73
  390. package/dist/esm/nativeSheet.mjs.map +0 -1
  391. package/dist/esm/nativeSheet.native.js +0 -80
  392. package/dist/esm/nativeSheet.native.js.map +0 -1
  393. package/dist/esm/setupGestureHandler.mjs +0 -29
  394. package/dist/esm/setupGestureHandler.mjs.map +0 -1
  395. package/dist/esm/setupGestureHandler.native.js +0 -31
  396. package/dist/esm/setupGestureHandler.native.js.map +0 -1
  397. package/dist/esm/types.mjs +0 -2
  398. package/dist/esm/types.mjs.map +0 -1
  399. package/dist/esm/types.native.js +0 -2
  400. package/dist/esm/types.native.js.map +0 -1
  401. package/dist/esm/useGestureHandlerPan.mjs +0 -249
  402. package/dist/esm/useGestureHandlerPan.mjs.map +0 -1
  403. package/dist/esm/useGestureHandlerPan.native.js +0 -258
  404. package/dist/esm/useGestureHandlerPan.native.js.map +0 -1
  405. package/dist/esm/useKeyboardControllerSheet.mjs +0 -77
  406. package/dist/esm/useKeyboardControllerSheet.mjs.map +0 -1
  407. package/dist/esm/useKeyboardControllerSheet.native.js +0 -104
  408. package/dist/esm/useKeyboardControllerSheet.native.js.map +0 -1
  409. package/dist/esm/useSafeAreaInsets.mjs +0 -7
  410. package/dist/esm/useSafeAreaInsets.mjs.map +0 -1
  411. package/dist/esm/useSafeAreaInsets.native.js +0 -8
  412. package/dist/esm/useSafeAreaInsets.native.js.map +0 -1
  413. package/dist/esm/useSheet.mjs +0 -4
  414. package/dist/esm/useSheet.mjs.map +0 -1
  415. package/dist/esm/useSheet.native.js +0 -6
  416. package/dist/esm/useSheet.native.js.map +0 -1
  417. package/dist/esm/useSheetController.mjs +0 -15
  418. package/dist/esm/useSheetController.mjs.map +0 -1
  419. package/dist/esm/useSheetController.native.js +0 -15
  420. package/dist/esm/useSheetController.native.js.map +0 -1
  421. package/dist/esm/useSheetOffscreenSize.mjs +0 -38
  422. package/dist/esm/useSheetOffscreenSize.mjs.map +0 -1
  423. package/dist/esm/useSheetOffscreenSize.native.js +0 -42
  424. package/dist/esm/useSheetOffscreenSize.native.js.map +0 -1
  425. package/dist/esm/useSheetOpenState.mjs +0 -27
  426. package/dist/esm/useSheetOpenState.mjs.map +0 -1
  427. package/dist/esm/useSheetOpenState.native.js +0 -30
  428. package/dist/esm/useSheetOpenState.native.js.map +0 -1
  429. package/dist/esm/useSheetProviderProps.mjs +0 -145
  430. package/dist/esm/useSheetProviderProps.mjs.map +0 -1
  431. package/dist/esm/useSheetProviderProps.native.js +0 -157
  432. package/dist/esm/useSheetProviderProps.native.js.map +0 -1
  433. package/dist/esm/useSheetScrollViewGestures.mjs +0 -166
  434. package/dist/esm/useSheetScrollViewGestures.mjs.map +0 -1
  435. package/dist/esm/useSheetScrollViewGestures.native.js +0 -135
  436. package/dist/esm/useSheetScrollViewGestures.native.js.map +0 -1
  437. package/dist/esm/webViewport.mjs +0 -43
  438. package/dist/esm/webViewport.mjs.map +0 -1
  439. package/dist/esm/webViewport.native.js +0 -46
  440. package/dist/esm/webViewport.native.js.map +0 -1
  441. package/dist/jsx/GestureDetectorWrapper.mjs +0 -29
  442. package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
  443. package/dist/jsx/GestureDetectorWrapper.native.js +0 -58
  444. package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
  445. package/dist/jsx/GestureSheetContext.mjs +0 -28
  446. package/dist/jsx/GestureSheetContext.mjs.map +0 -1
  447. package/dist/jsx/GestureSheetContext.native.js +0 -58
  448. package/dist/jsx/GestureSheetContext.native.js.map +0 -1
  449. package/dist/jsx/Sheet.mjs +0 -89
  450. package/dist/jsx/Sheet.mjs.map +0 -1
  451. package/dist/jsx/Sheet.native.js +0 -122
  452. package/dist/jsx/Sheet.native.js.map +0 -1
  453. package/dist/jsx/SheetContext.mjs +0 -6
  454. package/dist/jsx/SheetContext.mjs.map +0 -1
  455. package/dist/jsx/SheetContext.native.js +0 -37
  456. package/dist/jsx/SheetContext.native.js.map +0 -1
  457. package/dist/jsx/SheetController.mjs +0 -37
  458. package/dist/jsx/SheetController.mjs.map +0 -1
  459. package/dist/jsx/SheetController.native.js +0 -79
  460. package/dist/jsx/SheetController.native.js.map +0 -1
  461. package/dist/jsx/SheetImplementationCustom.mjs +0 -611
  462. package/dist/jsx/SheetImplementationCustom.mjs.map +0 -1
  463. package/dist/jsx/SheetImplementationCustom.native.js +0 -694
  464. package/dist/jsx/SheetImplementationCustom.native.js.map +0 -1
  465. package/dist/jsx/SheetScrollView.mjs +0 -301
  466. package/dist/jsx/SheetScrollView.mjs.map +0 -1
  467. package/dist/jsx/SheetScrollView.native.js +0 -348
  468. package/dist/jsx/SheetScrollView.native.js.map +0 -1
  469. package/dist/jsx/constants.mjs +0 -6
  470. package/dist/jsx/constants.mjs.map +0 -1
  471. package/dist/jsx/constants.native.js +0 -37
  472. package/dist/jsx/constants.native.js.map +0 -1
  473. package/dist/jsx/contexts.mjs +0 -7
  474. package/dist/jsx/contexts.mjs.map +0 -1
  475. package/dist/jsx/contexts.native.js +0 -47
  476. package/dist/jsx/contexts.native.js.map +0 -1
  477. package/dist/jsx/controller.mjs +0 -4
  478. package/dist/jsx/controller.mjs.map +0 -1
  479. package/dist/jsx/controller.native.js +0 -34
  480. package/dist/jsx/controller.native.js.map +0 -1
  481. package/dist/jsx/createSheet.mjs +0 -168
  482. package/dist/jsx/createSheet.mjs.map +0 -1
  483. package/dist/jsx/createSheet.native.js +0 -204
  484. package/dist/jsx/createSheet.native.js.map +0 -1
  485. package/dist/jsx/gestureState.mjs +0 -24
  486. package/dist/jsx/gestureState.mjs.map +0 -1
  487. package/dist/jsx/gestureState.native.js +0 -56
  488. package/dist/jsx/gestureState.native.js.map +0 -1
  489. package/dist/jsx/helpers.mjs +0 -10
  490. package/dist/jsx/helpers.mjs.map +0 -1
  491. package/dist/jsx/helpers.native.js +0 -39
  492. package/dist/jsx/helpers.native.js.map +0 -1
  493. package/dist/jsx/index.js +0 -14
  494. package/dist/jsx/index.js.map +0 -1
  495. package/dist/jsx/index.mjs +0 -14
  496. package/dist/jsx/index.mjs.map +0 -1
  497. package/dist/jsx/index.native.js +0 -44
  498. package/dist/jsx/index.native.js.map +0 -1
  499. package/dist/jsx/keyboardAvoidance.mjs +0 -66
  500. package/dist/jsx/keyboardAvoidance.mjs.map +0 -1
  501. package/dist/jsx/keyboardAvoidance.native.js +0 -99
  502. package/dist/jsx/keyboardAvoidance.native.js.map +0 -1
  503. package/dist/jsx/nativeSheet.mjs +0 -73
  504. package/dist/jsx/nativeSheet.mjs.map +0 -1
  505. package/dist/jsx/nativeSheet.native.js +0 -109
  506. package/dist/jsx/nativeSheet.native.js.map +0 -1
  507. package/dist/jsx/setupGestureHandler.mjs +0 -29
  508. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  509. package/dist/jsx/setupGestureHandler.native.js +0 -60
  510. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  511. package/dist/jsx/types.mjs +0 -2
  512. package/dist/jsx/types.mjs.map +0 -1
  513. package/dist/jsx/types.native.js +0 -21
  514. package/dist/jsx/types.native.js.map +0 -1
  515. package/dist/jsx/useGestureHandlerPan.mjs +0 -249
  516. package/dist/jsx/useGestureHandlerPan.mjs.map +0 -1
  517. package/dist/jsx/useGestureHandlerPan.native.js +0 -286
  518. package/dist/jsx/useGestureHandlerPan.native.js.map +0 -1
  519. package/dist/jsx/useKeyboardControllerSheet.mjs +0 -77
  520. package/dist/jsx/useKeyboardControllerSheet.mjs.map +0 -1
  521. package/dist/jsx/useKeyboardControllerSheet.native.js +0 -132
  522. package/dist/jsx/useKeyboardControllerSheet.native.js.map +0 -1
  523. package/dist/jsx/useSafeAreaInsets.mjs +0 -7
  524. package/dist/jsx/useSafeAreaInsets.mjs.map +0 -1
  525. package/dist/jsx/useSafeAreaInsets.native.js +0 -48
  526. package/dist/jsx/useSafeAreaInsets.native.js.map +0 -1
  527. package/dist/jsx/useSheet.mjs +0 -4
  528. package/dist/jsx/useSheet.mjs.map +0 -1
  529. package/dist/jsx/useSheet.native.js +0 -34
  530. package/dist/jsx/useSheet.native.js.map +0 -1
  531. package/dist/jsx/useSheetController.mjs +0 -15
  532. package/dist/jsx/useSheetController.mjs.map +0 -1
  533. package/dist/jsx/useSheetController.native.js +0 -55
  534. package/dist/jsx/useSheetController.native.js.map +0 -1
  535. package/dist/jsx/useSheetOffscreenSize.mjs +0 -38
  536. package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -1
  537. package/dist/jsx/useSheetOffscreenSize.native.js +0 -70
  538. package/dist/jsx/useSheetOffscreenSize.native.js.map +0 -1
  539. package/dist/jsx/useSheetOpenState.mjs +0 -27
  540. package/dist/jsx/useSheetOpenState.mjs.map +0 -1
  541. package/dist/jsx/useSheetOpenState.native.js +0 -58
  542. package/dist/jsx/useSheetOpenState.native.js.map +0 -1
  543. package/dist/jsx/useSheetProviderProps.mjs +0 -145
  544. package/dist/jsx/useSheetProviderProps.mjs.map +0 -1
  545. package/dist/jsx/useSheetProviderProps.native.js +0 -196
  546. package/dist/jsx/useSheetProviderProps.native.js.map +0 -1
  547. package/dist/jsx/useSheetScrollViewGestures.mjs +0 -166
  548. package/dist/jsx/useSheetScrollViewGestures.mjs.map +0 -1
  549. package/dist/jsx/useSheetScrollViewGestures.native.js +0 -163
  550. package/dist/jsx/useSheetScrollViewGestures.native.js.map +0 -1
  551. package/dist/jsx/webViewport.mjs +0 -43
  552. package/dist/jsx/webViewport.mjs.map +0 -1
  553. package/dist/jsx/webViewport.native.js +0 -81
  554. package/dist/jsx/webViewport.native.js.map +0 -1
  555. package/setup-gesture-handler/index.cjs +0 -2
  556. package/setup-gesture-handler/index.js +0 -2
  557. package/setup-gesture-handler/index.native.cjs +0 -2
  558. package/setup-gesture-handler/index.native.js +0 -2
  559. package/setup-gesture-handler.cjs +0 -1
@@ -1,652 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
30
- }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
34
- var SheetImplementationCustom_exports = {};
35
- __export(SheetImplementationCustom_exports, {
36
- SheetImplementationCustom: () => SheetImplementationCustom
37
- });
38
- module.exports = __toCommonJS(SheetImplementationCustom_exports);
39
- require("@hanzogui/adapt");
40
- var import_animate_presence = require("@hanzogui/animate-presence");
41
- var import_compose_refs = require("@hanzogui/compose-refs");
42
- var import_constants = require("@hanzogui/constants");
43
- var import_core = require("@hanzogui/core");
44
- var import_portal = require("@hanzogui/portal");
45
- var import_react = __toESM(require("react"), 1);
46
- var import_react_native = require("react-native-web");
47
- var import_contexts = require("./contexts.cjs");
48
- var import_GestureDetectorWrapper = require("./GestureDetectorWrapper.cjs");
49
- var import_gestureState = require("./gestureState.cjs");
50
- var import_GestureSheetContext = require("./GestureSheetContext.cjs");
51
- var import_helpers = require("./helpers.cjs");
52
- var import_keyboardAvoidance = require("./keyboardAvoidance.cjs");
53
- var import_webViewport = require("./webViewport.cjs");
54
- var import_SheetContext = require("./SheetContext.cjs");
55
- var import_useGestureHandlerPan = require("./useGestureHandlerPan.cjs");
56
- var import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.cjs");
57
- var import_useSafeAreaInsets = require("./useSafeAreaInsets.cjs");
58
- var import_useSheetOpenState = require("./useSheetOpenState.cjs");
59
- var import_useSheetProviderProps = require("./useSheetProviderProps.cjs");
60
- var import_jsx_runtime = require("react/jsx-runtime");
61
- const hiddenSize = 10000.1;
62
- const rnghRootStyleOpen = {
63
- width: "100%",
64
- height: "100%"
65
- };
66
- const rnghRootStyleClosed = {
67
- width: "100%",
68
- height: 0
69
- };
70
- let sheetHiddenStyleSheet = null;
71
- const relativeDimensionTo = import_constants.isWeb ? "window" : "screen";
72
- function getStableViewportHeight() {
73
- if (import_constants.isWeb && typeof window !== "undefined") return (0, import_webViewport.getStableLayoutViewportHeight)();
74
- return import_react_native.Dimensions.get(relativeDimensionTo).height;
75
- }
76
- const SheetImplementationCustom = import_react.default.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
77
- const parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
78
- const safeAreaTopInset = (0, import_useSafeAreaInsets.useSafeAreaInsets)()?.top ?? 0;
79
- const {
80
- transition,
81
- transitionConfig: transitionConfigProp,
82
- modal = false,
83
- zIndex = parentSheet.zIndex + 1,
84
- moveOnKeyboardChange = false,
85
- unmountChildrenWhenHidden = false,
86
- disableTransparencyHide = false,
87
- portalProps,
88
- containerComponent: ContainerComponent = import_react.default.Fragment,
89
- onAnimationComplete
90
- } = props;
91
- const state = (0, import_useSheetOpenState.useSheetOpenState)(props);
92
- const [overlayComponent, setOverlayComponent] = import_react.default.useState(null);
93
- const providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state, {
94
- onOverlayComponent: setOverlayComponent
95
- });
96
- const {
97
- frameSize,
98
- setFrameSize,
99
- dismissOnSnapToBottom,
100
- snapPoints,
101
- snapPointsMode,
102
- hasFit,
103
- position,
104
- setPosition,
105
- scrollBridge,
106
- screenSize,
107
- setMaxContentSize,
108
- maxSnapPoint
109
- } = providerProps;
110
- const {
111
- open,
112
- controller,
113
- isHidden
114
- } = state;
115
- const openRef = import_react.default.useRef(open);
116
- openRef.current = open;
117
- const sheetRef = import_react.default.useRef(void 0);
118
- const ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef);
119
- const {
120
- animationDriver
121
- } = (0, import_core.useConfiguration)();
122
- if (!animationDriver) throw new Error(`Sheet requires an animation driver to be set`);
123
- const transitionConfig = (() => {
124
- if (transitionConfigProp) return transitionConfigProp;
125
- const [animationProp, animationPropConfig] = !transition ? [] : Array.isArray(transition) ? transition : [transition];
126
- if (animationProp && animationDriver.animations?.[animationProp]) return {
127
- ...animationDriver.animations[animationProp],
128
- ...animationPropConfig
129
- };
130
- return null;
131
- })();
132
- const [isShowingInnerSheet, setIsShowingInnerSheet] = import_react.default.useState(false);
133
- const shouldHideParentSheet = !import_constants.isWeb && modal && isShowingInnerSheet && (0, import_portal.needsPortalRepropagation)();
134
- const sheetInsideSheet = import_react.default.useContext(import_contexts.SheetInsideSheetContext);
135
- const onInnerSheet = import_react.default.useCallback(hasChild => {
136
- setIsShowingInnerSheet(hasChild);
137
- }, []);
138
- const {
139
- keyboardHeight,
140
- isKeyboardVisible,
141
- dismissKeyboard,
142
- pauseKeyboardHandler,
143
- flushPendingHide
144
- } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
145
- enabled: Boolean(moveOnKeyboardChange)
146
- });
147
- const stableFrameSize = import_react.default.useRef(frameSize);
148
- import_react.default.useEffect(() => {
149
- if (open && frameSize) stableFrameSize.current = frameSize;
150
- }, [open, frameSize]);
151
- const isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;
152
- const isNativeKbFitSheet = !import_constants.isWeb && hasFit && Boolean(moveOnKeyboardChange);
153
- const preKeyboardFrameSize = import_react.default.useRef(0);
154
- import_react.default.useEffect(() => {
155
- if (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;
156
- }, [isNativeKbFitSheet, open, isKeyboardVisible, frameSize]);
157
- const effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
158
- const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
159
- const positions = import_react.default.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
160
- const [isDragging, setIsDragging_] = import_react.default.useState(false);
161
- const isDraggingRef = import_react.default.useRef(false);
162
- const setIsDragging = import_react.default.useCallback(val => {
163
- isDraggingRef.current = val;
164
- pauseKeyboardHandler.current = val;
165
- setIsDragging_(val);
166
- if (!val) flushPendingHide();
167
- }, [pauseKeyboardHandler, flushPendingHide]);
168
- const activePositionsRef = import_react.default.useRef(positions);
169
- const activePositions = import_react.default.useMemo(() => {
170
- if (isDragging || isDraggingRef.current) return activePositionsRef.current;
171
- let result;
172
- if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else result = positions.map(p => (0, import_keyboardAvoidance.getKeyboardAdjustedSheetY)({
173
- sheetY: p,
174
- screenSize: effScreenSize,
175
- isKeyboardVisible,
176
- keyboardHeight,
177
- shouldTranslate: true,
178
- safeAreaTop: import_constants.isWeb ? (0, import_webViewport.getWebVisualViewportOffsetTop)() : safeAreaTopInset
179
- }));
180
- activePositionsRef.current = result;
181
- return result;
182
- }, [positions, isKeyboardVisible, keyboardHeight, effScreenSize, isDragging, safeAreaTopInset]);
183
- const keyboardOccludedHeight = (0, import_keyboardAvoidance.getKeyboardOccludedHeight)({
184
- frameSize: effectiveFrameSize,
185
- isKeyboardVisible,
186
- keyboardHeight,
187
- screenSize: effScreenSize,
188
- sheetY: position >= 0 ? activePositions[position] : void 0
189
- });
190
- const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;
191
- const {
192
- useAnimatedNumber,
193
- useAnimatedNumberStyle
194
- } = animationDriver;
195
- const AnimatedView = animationDriver.View ?? import_core.View;
196
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
197
- if (!(sheetInsideSheet && open)) return;
198
- sheetInsideSheet(true);
199
- return () => {
200
- sheetInsideSheet(false);
201
- };
202
- }, [sheetInsideSheet, open]);
203
- const nextParentContext = import_react.default.useMemo(() => ({
204
- zIndex
205
- }), [zIndex]);
206
- const startPosition = (0, import_core.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize;
207
- const animatedNumber = useAnimatedNumber(startPosition);
208
- const at = import_react.default.useRef(startPosition);
209
- const hasntMeasured = at.current === hiddenSize;
210
- const [disableAnimation, setDisableAnimation] = (0, import_react.useState)(hasntMeasured);
211
- const skipAdaptAnimation = import_react.default.useRef(false);
212
- if (controller?.skipNextAnimation) skipAdaptAnimation.current = true;
213
- const hasScrollView = import_react.default.useRef(false);
214
- const opacityFallbackTimer = import_react.default.useRef(null);
215
- const syncAnimatedPosition = (0, import_core.useEvent)(value => {
216
- at.current = value;
217
- scrollBridge.paneY = value;
218
- const minY = activePositions[0];
219
- const wasAtTop = scrollBridge.isAtTop;
220
- const nowAtTop = value <= minY + 5;
221
- if (wasAtTop === nowAtTop) return;
222
- scrollBridge.isAtTop = nowAtTop;
223
- if (nowAtTop) {
224
- if (scrollBridge.lockScrollAtTop) {
225
- if (scrollBridge.y > 0) {
226
- scrollBridge.forceScrollTo?.(0);
227
- scrollBridge.y = 0;
228
- }
229
- scrollBridge.scrollLockY = 0;
230
- scrollBridge.setScrollEnabled?.(false, 0);
231
- return;
232
- }
233
- if (scrollBridge.y > 0) {
234
- scrollBridge.forceScrollTo?.(0);
235
- scrollBridge.y = 0;
236
- }
237
- scrollBridge.scrollLockY = void 0;
238
- scrollBridge.setScrollEnabled?.(true);
239
- } else {
240
- scrollBridge.scrollLockY = 0;
241
- scrollBridge.setScrollEnabled?.(false);
242
- }
243
- });
244
- const setAnimatedPositionDirect = (0, import_core.useEvent)(value => {
245
- syncAnimatedPosition(value);
246
- animatedNumber.setValue(value, {
247
- type: "direct"
248
- });
249
- });
250
- const getAnimatedPosition = (0, import_core.useEvent)(() => {
251
- const value = animatedNumber.getValue();
252
- syncAnimatedPosition(value);
253
- return value;
254
- });
255
- function stopSpring() {
256
- animatedNumber.stop();
257
- if (scrollBridge.onFinishAnimate) {
258
- scrollBridge.onFinishAnimate();
259
- scrollBridge.onFinishAnimate = void 0;
260
- }
261
- }
262
- const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
263
- if (frameSize === 0) return;
264
- const closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;
265
- let toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];
266
- if (at.current === toValue) return;
267
- at.current = toValue;
268
- stopSpring();
269
- const isOpenAnimation = position2 !== -1 && !isHidden;
270
- if (opacityFallbackTimer.current) {
271
- clearTimeout(opacityFallbackTimer.current);
272
- opacityFallbackTimer.current = null;
273
- }
274
- const animationCompleteCallback = () => {
275
- syncAnimatedPosition(toValue);
276
- if (opacityFallbackTimer.current) {
277
- clearTimeout(opacityFallbackTimer.current);
278
- opacityFallbackTimer.current = null;
279
- }
280
- if (!isOpenAnimation && !openRef.current) setOpacity(0);
281
- onAnimationComplete?.({
282
- open: isOpenAnimation
283
- });
284
- controller?.onAnimationComplete?.({
285
- open: isOpenAnimation
286
- });
287
- };
288
- if (!isOpenAnimation) opacityFallbackTimer.current = setTimeout(() => {
289
- opacityFallbackTimer.current = null;
290
- if (!openRef.current) setOpacity(0);
291
- }, 1e3);
292
- if (skipAdaptAnimation.current) {
293
- skipAdaptAnimation.current = false;
294
- animatedNumber.setValue(toValue, {
295
- type: "timing",
296
- duration: 0
297
- }, animationCompleteCallback);
298
- return;
299
- }
300
- animatedNumber.setValue(toValue, animationOverride || {
301
- type: "spring",
302
- ...transitionConfig
303
- }, animationCompleteCallback);
304
- });
305
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
306
- if (hasntMeasured && screenSize && frameSize) {
307
- at.current = screenSize;
308
- animatedNumber.setValue(screenSize, {
309
- type: "timing",
310
- duration: 0
311
- }, () => {
312
- syncAnimatedPosition(screenSize);
313
- setTimeout(() => {
314
- setDisableAnimation(false);
315
- }, 10);
316
- });
317
- return;
318
- }
319
- if (disableAnimation) return;
320
- if (isDraggingRef.current) return;
321
- if (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;
322
- animateTo(position);
323
- if (position === -1) {
324
- scrollBridge.scrollLock = false;
325
- scrollBridge.scrollStartY = -1;
326
- }
327
- if (open && position >= 0) {
328
- const isTopPosition = position === 0;
329
- scrollBridge.isAtTop = isTopPosition;
330
- if (isTopPosition) {
331
- scrollBridge.scrollLockY = void 0;
332
- scrollBridge.setScrollEnabled?.(true);
333
- } else {
334
- scrollBridge.scrollLockY = 0;
335
- scrollBridge.setScrollEnabled?.(false);
336
- }
337
- }
338
- }, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
339
- const disableDrag = props.disableDrag ?? controller?.disableDrag;
340
- (0, import_core.useThemeName)();
341
- const [blockPan, setBlockPan] = import_react.default.useState(false);
342
- const panResponder = import_react.default.useMemo(() => {
343
- if (disableDrag) return;
344
- if (!frameSize) return;
345
- if (isShowingInnerSheet) return;
346
- const minY = activePositions[0];
347
- scrollBridge.paneMinY = minY;
348
- let startY = at.current;
349
- function setPanning(val) {
350
- setIsDragging(val);
351
- if (!sheetHiddenStyleSheet) {
352
- sheetHiddenStyleSheet = document.createElement("style");
353
- if (typeof document.head !== "undefined") document.head.appendChild(sheetHiddenStyleSheet);
354
- }
355
- if (!val) sheetHiddenStyleSheet.innerText = "";else sheetHiddenStyleSheet.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }";
356
- }
357
- const release = ({
358
- vy
359
- }) => {
360
- scrollBridge.setParentDragging(false);
361
- if (scrollBridge.scrollLock) return;
362
- isExternalDrag = false;
363
- previouslyScrolling = false;
364
- setPanning(false);
365
- const currentPos = at.current;
366
- const end = currentPos + frameSize * vy * .2;
367
- const closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
368
- positions: activePositions,
369
- projectedEnd: end,
370
- currentPosition: currentPos,
371
- frameSize,
372
- dismissOnSnapToBottom,
373
- snapPointsMode,
374
- isKeyboardVisible,
375
- isWeb: import_constants.isWeb
376
- });
377
- setPosition(closestPoint);
378
- animateTo(closestPoint);
379
- };
380
- const finish = (_e, state2) => {
381
- release({
382
- vy: state2.vy,
383
- dragAt: state2.dy
384
- });
385
- };
386
- let previouslyScrolling = false;
387
- const onMoveShouldSet = (e, {
388
- dy
389
- }) => {
390
- function getShouldSet() {
391
- if (e.target === providerProps.handleRef.current) return true;
392
- if (scrollBridge.scrollNodeTouched) return false;
393
- if (scrollBridge.hasScrollableContent === true) {
394
- if (scrollBridge.scrollLock) return false;
395
- const isScrolled = scrollBridge.y !== 0;
396
- const isDraggingUp = dy < 0;
397
- const isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
398
- if (isScrolled) return false;
399
- if (isNearTop) {
400
- if (hasScrollView.current && isDraggingUp) return false;
401
- }
402
- }
403
- return Math.abs(dy) > 10;
404
- }
405
- const granted = getShouldSet();
406
- if (granted) scrollBridge.setParentDragging(true);
407
- return granted;
408
- };
409
- const grant = () => {
410
- setPanning(true);
411
- stopSpring();
412
- startY = getAnimatedPosition();
413
- };
414
- let isExternalDrag = false;
415
- scrollBridge.startPanDrag = () => {
416
- isExternalDrag = true;
417
- grant();
418
- };
419
- scrollBridge.drag = dy => {
420
- if (!isExternalDrag) {
421
- isExternalDrag = true;
422
- grant();
423
- }
424
- const to = dy + startY;
425
- setAnimatedPositionDirect((0, import_helpers.resisted)(to, minY));
426
- };
427
- scrollBridge.release = release;
428
- scrollBridge.snapToPosition = positionIndex => {
429
- isExternalDrag = false;
430
- setPanning(false);
431
- setPosition(positionIndex);
432
- animateTo(positionIndex);
433
- };
434
- return import_react_native.PanResponder.create({
435
- onMoveShouldSetPanResponder: onMoveShouldSet,
436
- onPanResponderTerminationRequest: () => false,
437
- onPanResponderGrant: grant,
438
- onPanResponderMove: (_e, {
439
- dy
440
- }) => {
441
- const toFull = dy + startY;
442
- const to = (0, import_helpers.resisted)(toFull, minY);
443
- if (to <= minY) scrollBridge.setParentDragging(false);else scrollBridge.setParentDragging(true);
444
- setAnimatedPositionDirect(to);
445
- },
446
- onPanResponderEnd: finish,
447
- onPanResponderTerminate: finish,
448
- onPanResponderRelease: finish
449
- });
450
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition, dismissOnSnapToBottom, snapPointsMode]);
451
- import_react.default.useEffect(() => {
452
- if (isDragging || isHidden || !open || disableAnimation) return;
453
- if (!frameSize || !screenSize) return;
454
- animateTo(position, {
455
- type: "timing",
456
- duration: 250
457
- });
458
- }, [isKeyboardVisible, keyboardHeight]);
459
- const wasDragging = import_react.default.useRef(false);
460
- import_react.default.useEffect(() => {
461
- if (isDragging) {
462
- wasDragging.current = true;
463
- return;
464
- }
465
- if (!wasDragging.current) return;
466
- wasDragging.current = false;
467
- if (!frameSize || !screenSize || isHidden || !open) return;
468
- animateTo(position);
469
- }, [isDragging]);
470
- import_react.default.useEffect(() => {
471
- if (!open && isKeyboardVisible) {
472
- dismissKeyboard();
473
- pauseKeyboardHandler.current = false;
474
- flushPendingHide();
475
- }
476
- }, [open]);
477
- const {
478
- panGesture,
479
- panGestureRef,
480
- gestureHandlerEnabled
481
- } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
482
- positions: activePositions,
483
- frameSize,
484
- setPosition,
485
- animateTo,
486
- stopSpring,
487
- scrollBridge,
488
- setIsDragging,
489
- getCurrentPosition: getAnimatedPosition,
490
- resisted: import_helpers.resisted,
491
- disableDrag,
492
- isShowingInnerSheet,
493
- setAnimatedPosition: setAnimatedPositionDirect,
494
- dismissOnSnapToBottom,
495
- snapPointsMode,
496
- isKeyboardVisible,
497
- pauseKeyboardHandler
498
- });
499
- const ignoreLayoutForKeyboard = (0, import_core.useEvent)(() => import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT);
500
- const handleAnimationViewLayout = (0, import_core.useEvent)(e => {
501
- if (!open && stableFrameSize.current !== 0) return;
502
- const layoutHeight = e.nativeEvent?.layout.height;
503
- if (ignoreLayoutForKeyboard() && frameSize > 0) return;
504
- const next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
505
- if (!next) return;
506
- setFrameSize(Math.round(next));
507
- });
508
- const handleMaxContentViewLayout = import_react.default.useCallback(e => {
509
- if (ignoreLayoutForKeyboard() && screenSize > 0) return;
510
- const next = Math.min(e.nativeEvent?.layout.height, getStableViewportHeight());
511
- if (!next) return;
512
- setMaxContentSize(Math.round(next));
513
- }, [ignoreLayoutForKeyboard, screenSize]);
514
- const animatedStyle = useAnimatedNumberStyle(animatedNumber, import_react.default.useCallback(val => {
515
- "worklet";
516
-
517
- return {
518
- transform: [{
519
- translateY: frameSize === 0 ? hiddenSize : val
520
- }]
521
- };
522
- }, [frameSize]));
523
- const [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
524
- if (open && opacity === 0) {
525
- setOpacity(1);
526
- if (opacityFallbackTimer.current) {
527
- clearTimeout(opacityFallbackTimer.current);
528
- opacityFallbackTimer.current = null;
529
- }
530
- }
531
- const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${import_constants.isWeb ? modal ? "dvh" : "%" : "%"}` : maxSnapPoint;
532
- const setHasScrollView = import_react.default.useCallback(val => {
533
- hasScrollView.current = val;
534
- }, []);
535
- let contents = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.LayoutMeasurementController, {
536
- disable: !open,
537
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, {
538
- value: nextParentContext,
539
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {
540
- ...providerProps,
541
- keyboardOccludedHeight,
542
- isKeyboardVisible,
543
- keyboardStableFrameHeight,
544
- setHasScrollView,
545
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_GestureSheetContext.GestureSheetProvider, {
546
- isDragging,
547
- blockPan,
548
- setBlockPan,
549
- panGesture,
550
- panGestureRef,
551
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
552
- custom: {
553
- open
554
- },
555
- children: shouldHideParentSheet || !open ? null : overlayComponent
556
- }), snapPointsMode !== "percent" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
557
- style: {
558
- opacity: 0,
559
- position: "absolute",
560
- top: 0,
561
- left: 0,
562
- right: 0,
563
- bottom: 0,
564
- pointerEvents: "none"
565
- },
566
- onLayout: handleMaxContentViewLayout
567
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(AnimatedView, {
568
- ref,
569
- onLayout: handleAnimationViewLayout,
570
- transition: isDragging || disableAnimation ? null : transition,
571
- disableClassName: true,
572
- style: [{
573
- position: "absolute",
574
- zIndex,
575
- width: "100%",
576
- height: forcedContentHeight,
577
- minHeight: forcedContentHeight,
578
- opacity: shouldHideParentSheet ? 0 : disableTransparencyHide ? 1 : opacity,
579
- ...((shouldHideParentSheet || !open) && {
580
- pointerEvents: "none"
581
- })
582
- }, animatedStyle],
583
- children: gestureHandlerEnabled && panGesture ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_GestureDetectorWrapper.GestureDetectorWrapper, {
584
- gesture: panGesture,
585
- style: {
586
- flex: 1
587
- },
588
- children: props.children
589
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
590
- ...panResponder?.panHandlers,
591
- style: {
592
- flex: 1,
593
- width: "100%",
594
- height: "100%"
595
- },
596
- children: props.children
597
- })
598
- })]
599
- })
600
- })
601
- })
602
- });
603
- const shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;
604
- if (modal) {
605
- const RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;
606
- const mountedContents = shouldMountChildren ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ContainerComponent, {
607
- children: contents
608
- }) : null;
609
- const modalContents = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.Portal, {
610
- stackZIndex: zIndex,
611
- ...portalProps,
612
- children: mountedContents && RNGHRoot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(RNGHRoot, {
613
- style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
614
- children: mountedContents
615
- }) : mountedContents
616
- });
617
- if (import_constants.isWeb) return modalContents;
618
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {
619
- value: onInnerSheet,
620
- children: modalContents
621
- });
622
- }
623
- return contents;
624
- });
625
- function getYPositions(mode, point, screenSize, frameSize) {
626
- if (!screenSize || !frameSize) return 0;
627
- if (mode === "mixed") {
628
- if (typeof point === "number") return screenSize - Math.min(screenSize, Math.max(0, point));
629
- if (point === "fit") return screenSize - Math.min(screenSize, frameSize);
630
- if (point.endsWith("%")) {
631
- const pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;
632
- if (Number.isNaN(pct2)) {
633
- console.warn("Invalid snapPoint percentage string");
634
- return 0;
635
- }
636
- return Math.round(screenSize - pct2 * screenSize);
637
- }
638
- console.warn("Invalid snapPoint unknown value");
639
- return 0;
640
- }
641
- if (mode === "fit") {
642
- if (point === 0) return screenSize;
643
- return screenSize - Math.min(screenSize, frameSize);
644
- }
645
- if (mode === "constant" && typeof point === "number") return screenSize - Math.min(screenSize, Math.max(0, point));
646
- const pct = Math.min(100, Math.max(0, Number(point))) / 100;
647
- if (Number.isNaN(pct)) {
648
- console.warn("Invalid snapPoint percentage");
649
- return 0;
650
- }
651
- return Math.round(screenSize - pct * screenSize);
652
- }