@tamagui/sheet 2.7.7 → 3.0.0-beta.643.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/dist/cjs/GestureDetectorWrapper.cjs +32 -41
  2. package/dist/cjs/GestureDetectorWrapper.native.cjs +48 -0
  3. package/dist/cjs/GestureDetectorWrapper.native.js +32 -40
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
  5. package/dist/cjs/GestureSheetContext.cjs +29 -37
  6. package/dist/cjs/GestureSheetContext.native.cjs +49 -0
  7. package/dist/cjs/GestureSheetContext.native.js +30 -37
  8. package/dist/cjs/GestureSheetContext.native.js.map +1 -1
  9. package/dist/cjs/Sheet.cjs +206 -99
  10. package/dist/cjs/Sheet.native.cjs +234 -0
  11. package/dist/cjs/Sheet.native.js +212 -98
  12. package/dist/cjs/Sheet.native.js.map +1 -1
  13. package/dist/cjs/SheetContext.cjs +44 -22
  14. package/dist/cjs/SheetContext.native.cjs +58 -0
  15. package/dist/cjs/SheetContext.native.js +45 -22
  16. package/dist/cjs/SheetContext.native.js.map +1 -1
  17. package/dist/cjs/SheetController.cjs +50 -56
  18. package/dist/cjs/SheetController.native.cjs +72 -0
  19. package/dist/cjs/SheetController.native.js +53 -58
  20. package/dist/cjs/SheetController.native.js.map +1 -1
  21. package/dist/cjs/SheetImplementationCustom.cjs +674 -605
  22. package/dist/cjs/SheetImplementationCustom.native.cjs +762 -0
  23. package/dist/cjs/SheetImplementationCustom.native.js +713 -644
  24. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  25. package/dist/cjs/SheetScrollView.cjs +291 -312
  26. package/dist/cjs/SheetScrollView.native.cjs +326 -0
  27. package/dist/cjs/SheetScrollView.native.js +299 -319
  28. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  29. package/dist/cjs/constants.cjs +22 -21
  30. package/dist/cjs/constants.native.cjs +37 -0
  31. package/dist/cjs/constants.native.js +22 -20
  32. package/dist/cjs/constants.native.js.map +1 -1
  33. package/dist/cjs/contexts.cjs +20 -28
  34. package/dist/cjs/contexts.native.cjs +38 -0
  35. package/dist/cjs/contexts.native.js +20 -27
  36. package/dist/cjs/contexts.native.js.map +1 -1
  37. package/dist/cjs/controller.cjs +17 -18
  38. package/dist/cjs/controller.native.cjs +32 -0
  39. package/dist/cjs/controller.native.js +17 -17
  40. package/dist/cjs/controller.native.js.map +1 -1
  41. package/dist/cjs/gestureState.cjs +29 -30
  42. package/dist/cjs/gestureState.native.cjs +54 -0
  43. package/dist/cjs/gestureState.native.js +30 -30
  44. package/dist/cjs/gestureState.native.js.map +1 -1
  45. package/dist/cjs/helpers.cjs +21 -24
  46. package/dist/cjs/helpers.native.cjs +35 -0
  47. package/dist/cjs/helpers.native.js +22 -24
  48. package/dist/cjs/helpers.native.js.map +1 -1
  49. package/dist/cjs/index.cjs +15 -21
  50. package/dist/cjs/index.native.cjs +37 -0
  51. package/dist/cjs/index.native.js +16 -21
  52. package/dist/cjs/index.native.js.map +1 -1
  53. package/dist/cjs/keyboardAvoidance.cjs +56 -79
  54. package/dist/cjs/keyboardAvoidance.native.cjs +75 -0
  55. package/dist/cjs/keyboardAvoidance.native.js +56 -78
  56. package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
  57. package/dist/cjs/nativeSheet.cjs +64 -76
  58. package/dist/cjs/nativeSheet.native.cjs +94 -0
  59. package/dist/cjs/nativeSheet.native.js +70 -83
  60. package/dist/cjs/nativeSheet.native.js.map +1 -1
  61. package/dist/cjs/types.cjs +10 -11
  62. package/dist/cjs/types.native.cjs +19 -0
  63. package/dist/cjs/types.native.js +10 -10
  64. package/dist/cjs/types.native.js.map +1 -1
  65. package/dist/cjs/useGestureHandlerPan.cjs +245 -257
  66. package/dist/cjs/useGestureHandlerPan.native.cjs +273 -0
  67. package/dist/cjs/useGestureHandlerPan.native.js +254 -265
  68. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  69. package/dist/cjs/useKeyboardControllerSheet.cjs +83 -88
  70. package/dist/cjs/useKeyboardControllerSheet.native.cjs +119 -0
  71. package/dist/cjs/useKeyboardControllerSheet.native.js +100 -111
  72. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  73. package/dist/cjs/useSafeAreaInsets.cjs +20 -26
  74. package/dist/cjs/useSafeAreaInsets.native.cjs +51 -0
  75. package/dist/cjs/useSafeAreaInsets.native.js +30 -25
  76. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -1
  77. package/dist/cjs/useSheetController.cjs +27 -39
  78. package/dist/cjs/useSheetController.native.cjs +42 -0
  79. package/dist/cjs/useSheetController.native.js +28 -39
  80. package/dist/cjs/useSheetController.native.js.map +1 -1
  81. package/dist/cjs/useSheetOffscreenSize.cjs +44 -53
  82. package/dist/cjs/useSheetOffscreenSize.native.cjs +60 -0
  83. package/dist/cjs/useSheetOffscreenSize.native.js +48 -56
  84. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  85. package/dist/cjs/useSheetOpenState.cjs +69 -40
  86. package/dist/cjs/useSheetOpenState.native.cjs +88 -0
  87. package/dist/cjs/useSheetOpenState.native.js +74 -42
  88. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  89. package/dist/cjs/useSheetProviderProps.cjs +146 -164
  90. package/dist/cjs/useSheetProviderProps.native.cjs +176 -0
  91. package/dist/cjs/useSheetProviderProps.native.js +156 -174
  92. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  93. package/dist/cjs/useSheetScrollViewGestures.cjs +172 -180
  94. package/dist/cjs/useSheetScrollViewGestures.native.cjs +150 -0
  95. package/dist/cjs/useSheetScrollViewGestures.native.js +136 -147
  96. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  97. package/dist/cjs/webViewport.cjs +47 -48
  98. package/dist/cjs/webViewport.native.cjs +79 -0
  99. package/dist/cjs/webViewport.native.js +50 -50
  100. package/dist/cjs/webViewport.native.js.map +1 -1
  101. package/dist/esm/GestureDetectorWrapper.mjs +19 -23
  102. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
  103. package/dist/esm/GestureDetectorWrapper.native.js +20 -24
  104. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
  105. package/dist/esm/GestureSheetContext.mjs +15 -20
  106. package/dist/esm/GestureSheetContext.mjs.map +1 -1
  107. package/dist/esm/GestureSheetContext.native.js +17 -22
  108. package/dist/esm/GestureSheetContext.native.js.map +1 -1
  109. package/dist/esm/Sheet.mjs +191 -83
  110. package/dist/esm/Sheet.mjs.map +1 -1
  111. package/dist/esm/Sheet.native.js +198 -83
  112. package/dist/esm/Sheet.native.js.map +1 -1
  113. package/dist/esm/SheetContext.mjs +21 -5
  114. package/dist/esm/SheetContext.mjs.map +1 -1
  115. package/dist/esm/SheetContext.native.js +21 -5
  116. package/dist/esm/SheetContext.native.js.map +1 -1
  117. package/dist/esm/SheetController.mjs +34 -30
  118. package/dist/esm/SheetController.mjs.map +1 -1
  119. package/dist/esm/SheetController.native.js +38 -34
  120. package/dist/esm/SheetController.native.js.map +1 -1
  121. package/dist/esm/SheetImplementationCustom.mjs +655 -580
  122. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  123. package/dist/esm/SheetImplementationCustom.native.js +691 -612
  124. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  125. package/dist/esm/SheetScrollView.mjs +277 -288
  126. package/dist/esm/SheetScrollView.mjs.map +1 -1
  127. package/dist/esm/SheetScrollView.native.js +286 -297
  128. package/dist/esm/SheetScrollView.native.js.map +1 -1
  129. package/dist/esm/constants.mjs +5 -3
  130. package/dist/esm/constants.mjs.map +1 -1
  131. package/dist/esm/constants.native.js +5 -3
  132. package/dist/esm/constants.native.js.map +1 -1
  133. package/dist/esm/contexts.mjs +3 -3
  134. package/dist/esm/contexts.mjs.map +1 -1
  135. package/dist/esm/contexts.native.js +3 -3
  136. package/dist/esm/contexts.native.js.map +1 -1
  137. package/dist/esm/controller.mjs +2 -2
  138. package/dist/esm/controller.native.js +2 -2
  139. package/dist/esm/gestureState.mjs +13 -11
  140. package/dist/esm/gestureState.mjs.map +1 -1
  141. package/dist/esm/gestureState.native.js +14 -12
  142. package/dist/esm/gestureState.native.js.map +1 -1
  143. package/dist/esm/helpers.mjs +7 -6
  144. package/dist/esm/helpers.mjs.map +1 -1
  145. package/dist/esm/helpers.native.js +8 -7
  146. package/dist/esm/helpers.native.js.map +1 -1
  147. package/dist/esm/index.js +21 -14
  148. package/dist/esm/index.mjs +21 -14
  149. package/dist/esm/index.native.js +21 -14
  150. package/dist/esm/keyboardAvoidance.mjs +40 -61
  151. package/dist/esm/keyboardAvoidance.mjs.map +1 -1
  152. package/dist/esm/keyboardAvoidance.native.js +40 -61
  153. package/dist/esm/keyboardAvoidance.native.js.map +1 -1
  154. package/dist/esm/nativeSheet.mjs +52 -61
  155. package/dist/esm/nativeSheet.mjs.map +1 -1
  156. package/dist/esm/nativeSheet.native.js +58 -69
  157. package/dist/esm/nativeSheet.native.js.map +1 -1
  158. package/dist/esm/types.mjs +0 -2
  159. package/dist/esm/types.native.js +0 -2
  160. package/dist/esm/useGestureHandlerPan.mjs +232 -239
  161. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  162. package/dist/esm/useGestureHandlerPan.native.js +241 -248
  163. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  164. package/dist/esm/useKeyboardControllerSheet.mjs +71 -71
  165. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  166. package/dist/esm/useKeyboardControllerSheet.native.js +92 -94
  167. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  168. package/dist/esm/useSafeAreaInsets.mjs +3 -1
  169. package/dist/esm/useSafeAreaInsets.mjs.map +1 -1
  170. package/dist/esm/useSafeAreaInsets.native.js +15 -3
  171. package/dist/esm/useSafeAreaInsets.native.js.map +1 -1
  172. package/dist/esm/useSheetController.mjs +14 -12
  173. package/dist/esm/useSheetController.mjs.map +1 -1
  174. package/dist/esm/useSheetController.native.js +14 -12
  175. package/dist/esm/useSheetController.native.js.map +1 -1
  176. package/dist/esm/useSheetOffscreenSize.mjs +30 -35
  177. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  178. package/dist/esm/useSheetOffscreenSize.native.js +34 -39
  179. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  180. package/dist/esm/useSheetOpenState.mjs +50 -22
  181. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  182. package/dist/esm/useSheetOpenState.native.js +55 -25
  183. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  184. package/dist/esm/useSheetProviderProps.mjs +130 -138
  185. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  186. package/dist/esm/useSheetProviderProps.native.js +140 -149
  187. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  188. package/dist/esm/useSheetScrollViewGestures.mjs +159 -162
  189. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  190. package/dist/esm/useSheetScrollViewGestures.native.js +123 -130
  191. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  192. package/dist/esm/webViewport.mjs +26 -25
  193. package/dist/esm/webViewport.mjs.map +1 -1
  194. package/dist/esm/webViewport.native.js +29 -28
  195. package/dist/esm/webViewport.native.js.map +1 -1
  196. package/dist/jsx/GestureDetectorWrapper.mjs +19 -23
  197. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
  198. package/dist/jsx/GestureDetectorWrapper.native.cjs +48 -0
  199. package/dist/jsx/GestureDetectorWrapper.native.js +32 -40
  200. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
  201. package/dist/jsx/GestureSheetContext.mjs +15 -20
  202. package/dist/jsx/GestureSheetContext.mjs.map +1 -1
  203. package/dist/jsx/GestureSheetContext.native.cjs +49 -0
  204. package/dist/jsx/GestureSheetContext.native.js +30 -37
  205. package/dist/jsx/GestureSheetContext.native.js.map +1 -1
  206. package/dist/jsx/Sheet.mjs +191 -83
  207. package/dist/jsx/Sheet.mjs.map +1 -1
  208. package/dist/jsx/Sheet.native.cjs +234 -0
  209. package/dist/jsx/Sheet.native.js +212 -98
  210. package/dist/jsx/Sheet.native.js.map +1 -1
  211. package/dist/jsx/SheetContext.mjs +21 -5
  212. package/dist/jsx/SheetContext.mjs.map +1 -1
  213. package/dist/jsx/SheetContext.native.cjs +58 -0
  214. package/dist/jsx/SheetContext.native.js +45 -22
  215. package/dist/jsx/SheetContext.native.js.map +1 -1
  216. package/dist/jsx/SheetController.mjs +34 -30
  217. package/dist/jsx/SheetController.mjs.map +1 -1
  218. package/dist/jsx/SheetController.native.cjs +72 -0
  219. package/dist/jsx/SheetController.native.js +53 -58
  220. package/dist/jsx/SheetController.native.js.map +1 -1
  221. package/dist/jsx/SheetImplementationCustom.mjs +655 -580
  222. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  223. package/dist/jsx/SheetImplementationCustom.native.cjs +762 -0
  224. package/dist/jsx/SheetImplementationCustom.native.js +713 -644
  225. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  226. package/dist/jsx/SheetScrollView.mjs +277 -288
  227. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  228. package/dist/jsx/SheetScrollView.native.cjs +326 -0
  229. package/dist/jsx/SheetScrollView.native.js +299 -319
  230. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  231. package/dist/jsx/constants.mjs +5 -3
  232. package/dist/jsx/constants.mjs.map +1 -1
  233. package/dist/jsx/constants.native.cjs +37 -0
  234. package/dist/jsx/constants.native.js +22 -20
  235. package/dist/jsx/constants.native.js.map +1 -1
  236. package/dist/jsx/contexts.mjs +3 -3
  237. package/dist/jsx/contexts.mjs.map +1 -1
  238. package/dist/jsx/contexts.native.cjs +38 -0
  239. package/dist/jsx/contexts.native.js +20 -27
  240. package/dist/jsx/contexts.native.js.map +1 -1
  241. package/dist/jsx/controller.mjs +2 -2
  242. package/dist/jsx/controller.native.cjs +32 -0
  243. package/dist/jsx/controller.native.js +17 -17
  244. package/dist/jsx/controller.native.js.map +1 -1
  245. package/dist/jsx/gestureState.mjs +13 -11
  246. package/dist/jsx/gestureState.mjs.map +1 -1
  247. package/dist/jsx/gestureState.native.cjs +54 -0
  248. package/dist/jsx/gestureState.native.js +30 -30
  249. package/dist/jsx/gestureState.native.js.map +1 -1
  250. package/dist/jsx/helpers.mjs +7 -6
  251. package/dist/jsx/helpers.mjs.map +1 -1
  252. package/dist/jsx/helpers.native.cjs +35 -0
  253. package/dist/jsx/helpers.native.js +22 -24
  254. package/dist/jsx/helpers.native.js.map +1 -1
  255. package/dist/jsx/index.js +21 -14
  256. package/dist/jsx/index.mjs +21 -14
  257. package/dist/jsx/index.native.cjs +37 -0
  258. package/dist/jsx/index.native.js +16 -21
  259. package/dist/jsx/index.native.js.map +1 -1
  260. package/dist/jsx/keyboardAvoidance.mjs +40 -61
  261. package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
  262. package/dist/jsx/keyboardAvoidance.native.cjs +75 -0
  263. package/dist/jsx/keyboardAvoidance.native.js +56 -78
  264. package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
  265. package/dist/jsx/nativeSheet.mjs +52 -61
  266. package/dist/jsx/nativeSheet.mjs.map +1 -1
  267. package/dist/jsx/nativeSheet.native.cjs +94 -0
  268. package/dist/jsx/nativeSheet.native.js +70 -83
  269. package/dist/jsx/nativeSheet.native.js.map +1 -1
  270. package/dist/jsx/types.mjs +0 -2
  271. package/dist/jsx/types.native.cjs +19 -0
  272. package/dist/jsx/types.native.js +10 -10
  273. package/dist/jsx/types.native.js.map +1 -1
  274. package/dist/jsx/useGestureHandlerPan.mjs +232 -239
  275. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  276. package/dist/jsx/useGestureHandlerPan.native.cjs +273 -0
  277. package/dist/jsx/useGestureHandlerPan.native.js +254 -265
  278. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  279. package/dist/jsx/useKeyboardControllerSheet.mjs +71 -71
  280. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  281. package/dist/jsx/useKeyboardControllerSheet.native.cjs +119 -0
  282. package/dist/jsx/useKeyboardControllerSheet.native.js +100 -111
  283. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  284. package/dist/jsx/useSafeAreaInsets.mjs +3 -1
  285. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -1
  286. package/dist/jsx/useSafeAreaInsets.native.cjs +51 -0
  287. package/dist/jsx/useSafeAreaInsets.native.js +30 -25
  288. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -1
  289. package/dist/jsx/useSheetController.mjs +14 -12
  290. package/dist/jsx/useSheetController.mjs.map +1 -1
  291. package/dist/jsx/useSheetController.native.cjs +42 -0
  292. package/dist/jsx/useSheetController.native.js +28 -39
  293. package/dist/jsx/useSheetController.native.js.map +1 -1
  294. package/dist/jsx/useSheetOffscreenSize.mjs +30 -35
  295. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  296. package/dist/jsx/useSheetOffscreenSize.native.cjs +60 -0
  297. package/dist/jsx/useSheetOffscreenSize.native.js +48 -56
  298. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  299. package/dist/jsx/useSheetOpenState.mjs +50 -22
  300. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  301. package/dist/jsx/useSheetOpenState.native.cjs +88 -0
  302. package/dist/jsx/useSheetOpenState.native.js +74 -42
  303. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  304. package/dist/jsx/useSheetProviderProps.mjs +130 -138
  305. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  306. package/dist/jsx/useSheetProviderProps.native.cjs +176 -0
  307. package/dist/jsx/useSheetProviderProps.native.js +156 -174
  308. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  309. package/dist/jsx/useSheetScrollViewGestures.mjs +159 -162
  310. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  311. package/dist/jsx/useSheetScrollViewGestures.native.cjs +150 -0
  312. package/dist/jsx/useSheetScrollViewGestures.native.js +136 -147
  313. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  314. package/dist/jsx/webViewport.mjs +26 -25
  315. package/dist/jsx/webViewport.mjs.map +1 -1
  316. package/dist/jsx/webViewport.native.cjs +79 -0
  317. package/dist/jsx/webViewport.native.js +50 -50
  318. package/dist/jsx/webViewport.native.js.map +1 -1
  319. package/package.json +33 -39
  320. package/src/Sheet.tsx +316 -77
  321. package/src/SheetContext.tsx +57 -7
  322. package/src/SheetController.tsx +7 -6
  323. package/src/SheetImplementationCustom.tsx +343 -140
  324. package/src/SheetScrollView.tsx +24 -13
  325. package/src/constants.tsx +3 -3
  326. package/src/helpers.tsx +0 -14
  327. package/src/index.ts +3 -6
  328. package/src/nativeSheet.tsx +5 -15
  329. package/src/types.tsx +104 -92
  330. package/src/useKeyboardControllerSheet.native.ts +7 -2
  331. package/src/useSafeAreaInsets.native.ts +20 -13
  332. package/src/useSheetController.tsx +15 -7
  333. package/src/useSheetOpenState.tsx +50 -4
  334. package/src/useSheetProviderProps.tsx +4 -27
  335. package/src/useSheetScrollViewGestures.ts +2 -2
  336. package/types/GestureDetectorWrapper.d.ts +1 -1
  337. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  338. package/types/GestureSheetContext.d.ts +1 -1
  339. package/types/GestureSheetContext.d.ts.map +1 -1
  340. package/types/Sheet.d.ts +384 -135
  341. package/types/Sheet.d.ts.map +1 -1
  342. package/types/SheetContext.d.ts +28 -42
  343. package/types/SheetContext.d.ts.map +1 -1
  344. package/types/SheetController.d.ts +4 -2
  345. package/types/SheetController.d.ts.map +1 -1
  346. package/types/SheetImplementationCustom.d.ts +3 -35
  347. package/types/SheetImplementationCustom.d.ts.map +1 -1
  348. package/types/SheetScrollView.d.ts +57 -23
  349. package/types/SheetScrollView.d.ts.map +1 -1
  350. package/types/constants.d.ts +3 -2
  351. package/types/constants.d.ts.map +1 -1
  352. package/types/index.d.ts +1 -3
  353. package/types/index.d.ts.map +1 -1
  354. package/types/nativeSheet.d.ts.map +1 -1
  355. package/types/types.d.ts +28 -17
  356. package/types/types.d.ts.map +1 -1
  357. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  358. package/types/useSafeAreaInsets.native.d.ts +4 -12
  359. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  360. package/types/useSheetController.d.ts +6 -6
  361. package/types/useSheetController.d.ts.map +1 -1
  362. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  363. package/types/useSheetOpenState.d.ts +3 -2
  364. package/types/useSheetOpenState.d.ts.map +1 -1
  365. package/types/useSheetProviderProps.d.ts +5 -8
  366. package/types/useSheetProviderProps.d.ts.map +1 -1
  367. package/types/useSheetScrollViewGestures.d.ts +2 -2
  368. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  369. package/.turbo/turbo-build.log +0 -2
  370. package/controller/index.cjs +0 -2
  371. package/controller/index.d.ts +0 -5
  372. package/controller/index.js +0 -2
  373. package/controller/index.native.cjs +0 -2
  374. package/controller/index.native.js +0 -2
  375. package/dist/cjs/createSheet.cjs +0 -194
  376. package/dist/cjs/createSheet.native.js +0 -204
  377. package/dist/cjs/createSheet.native.js.map +0 -1
  378. package/dist/cjs/setupGestureHandler.cjs +0 -55
  379. package/dist/cjs/setupGestureHandler.native.js +0 -60
  380. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  381. package/dist/cjs/useSheet.cjs +0 -29
  382. package/dist/cjs/useSheet.native.js +0 -34
  383. package/dist/cjs/useSheet.native.js.map +0 -1
  384. package/dist/esm/controller.mjs.map +0 -1
  385. package/dist/esm/controller.native.js.map +0 -1
  386. package/dist/esm/createSheet.mjs +0 -168
  387. package/dist/esm/createSheet.mjs.map +0 -1
  388. package/dist/esm/createSheet.native.js +0 -176
  389. package/dist/esm/createSheet.native.js.map +0 -1
  390. package/dist/esm/index.js.map +0 -1
  391. package/dist/esm/index.mjs.map +0 -1
  392. package/dist/esm/index.native.js.map +0 -1
  393. package/dist/esm/setupGestureHandler.mjs +0 -29
  394. package/dist/esm/setupGestureHandler.mjs.map +0 -1
  395. package/dist/esm/setupGestureHandler.native.js +0 -31
  396. package/dist/esm/setupGestureHandler.native.js.map +0 -1
  397. package/dist/esm/types.mjs.map +0 -1
  398. package/dist/esm/types.native.js.map +0 -1
  399. package/dist/esm/useSheet.mjs +0 -4
  400. package/dist/esm/useSheet.mjs.map +0 -1
  401. package/dist/esm/useSheet.native.js +0 -6
  402. package/dist/esm/useSheet.native.js.map +0 -1
  403. package/dist/jsx/controller.mjs.map +0 -1
  404. package/dist/jsx/createSheet.mjs +0 -168
  405. package/dist/jsx/createSheet.mjs.map +0 -1
  406. package/dist/jsx/createSheet.native.js +0 -204
  407. package/dist/jsx/createSheet.native.js.map +0 -1
  408. package/dist/jsx/index.js.map +0 -1
  409. package/dist/jsx/index.mjs.map +0 -1
  410. package/dist/jsx/setupGestureHandler.mjs +0 -29
  411. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  412. package/dist/jsx/setupGestureHandler.native.js +0 -60
  413. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  414. package/dist/jsx/types.mjs.map +0 -1
  415. package/dist/jsx/useSheet.mjs +0 -4
  416. package/dist/jsx/useSheet.mjs.map +0 -1
  417. package/dist/jsx/useSheet.native.js +0 -34
  418. package/dist/jsx/useSheet.native.js.map +0 -1
  419. package/next.md +0 -78
  420. package/setup-gesture-handler/index.cjs +0 -2
  421. package/setup-gesture-handler/index.js +0 -2
  422. package/setup-gesture-handler/index.native.cjs +0 -2
  423. package/setup-gesture-handler/index.native.js +0 -2
  424. package/setup-gesture-handler.cjs +0 -1
  425. package/src/createSheet.tsx +0 -309
  426. package/src/setupGestureHandler.ts +0 -43
  427. package/src/useSheet.tsx +0 -3
  428. package/test/keyboardAvoidance.test.ts +0 -269
  429. package/tsconfig.json +0 -57
  430. package/types/createSheet.d.ts +0 -195
  431. package/types/createSheet.d.ts.map +0 -1
  432. package/types/setupGestureHandler.d.ts +0 -11
  433. package/types/setupGestureHandler.d.ts.map +0 -1
  434. package/types/useSheet.d.ts +0 -2
  435. package/types/useSheet.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","getStableLayoutViewportHeight","getWebKeyboardBottomInset","getWebKeyboardResizeHeight","isEditableElement","MIN_KEYBOARD_HEIGHT","jsx","jsxs","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","ref","context","gestureContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","prop","defaultProp","scrollRef","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","contentContainerStyle","minHeight","keyboardFrozenOverride","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lastEmittedScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","lockY","scrollLockY","current","enabled","scrollTo","x","y","animated","forceScrollTo","emitManualScroll","useCallback","node","scrollStartY","nativeEvent","contentOffset","scrollLeft","contentSize","scrollHeight","width","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","Date","now","scrollFocusedInputClearOfKeyboard","getScrollableNode","active","document","activeElement","contains","keyboardHeight","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","clientHeight","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","window","addEventListener","visualViewport","removeEventListener","updateScrollable","recordFitHeight","gestureProps","onManualScroll","contentWrapper","onLayout","e","floor","layout","RNGHComponent","style","scrollEventThrottle","simultaneousHandlers","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SheetScrollView.js","names":[],"sources":["jsx/SheetScrollView.js"],"sourcesContent":["import { composeRefs } from \"@tamagui/compose-refs\";\nimport { createStyledHOC, isWeb, View } from \"@tamagui/core\";\nimport { ScrollView } from \"@tamagui/scroll-view\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useGestureSheetContext } from \"./GestureSheetContext\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { useSheetScrollViewGestures } from \"./useSheetScrollViewGestures\";\nimport {\n getStableLayoutViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardResizeHeight,\n isEditableElement,\n MIN_KEYBOARD_HEIGHT\n} from \"./webViewport\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nconst SheetScrollView = createStyledHOC(\n ScrollView,\n ({\n scope,\n children,\n onScroll,\n scrollEnabled: scrollEnabledProp,\n ...props\n }, ref) => {\n const context = useSheetContext(scope);\n const gestureContext = useGestureSheetContext();\n const { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n const isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;\n const [scrollEnabled] = useControllableState({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n const scrollRef = React.useRef(null);\n const [hasScrollableContent, setHasScrollableContent] = useState(true);\n const parentHeight = useRef(0);\n const contentHeight = useRef(0);\n const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n const fitSizingStyle = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : { flex: 1 };\n const contentContainerStyle = hasFit ? void 0 : { minHeight: \"100%\" };\n const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? { height: frozenFrameHeight, maxHeight: frozenFrameHeight } : null;\n const panGestureRef = gestureContext?.panGestureRef;\n const { ScrollView: RNGHScrollView } = getGestureHandlerState();\n const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;\n const currentScrollOffset = useRef(0);\n const lastEmittedScrollOffset = useRef(0);\n const lockedScrollY = useRef(0);\n const focusedInputScrollFrame = useRef(0);\n const setScrollEnabled = (next, lockTo) => {\n if (!next) {\n const lockY = lockTo ?? scrollBridge.scrollLockY ?? currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n scrollRef.current?.scrollTo?.({ x: 0, y: lockY, animated: false });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n const forceScrollTo = (y) => {\n scrollRef.current?.scrollTo?.({ x: 0, y, animated: false });\n currentScrollOffset.current = y;\n };\n const emitManualScroll = React.useCallback(\n (node, y) => {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n },\n [onScroll, scrollBridge]\n );\n const scrollFocusedInputClearOfKeyboard = React.useCallback(() => {\n if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n const node = scrollRef.current?.getScrollableNode();\n const active = document.activeElement;\n if (!node || !active || !isEditableElement(active) || !node.contains(active)) {\n return;\n }\n const keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());\n if (keyboardHeight <= 0) return;\n const activeRect = active.getBoundingClientRect();\n const nodeRect = node.getBoundingClientRect();\n const margin = 12;\n const keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;\n const visibleTop = nodeRect.top + margin;\n const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n let nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);\n const scheduleFocusedInputScroll = React.useCallback(() => {\n if (!isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(() => {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(\n scrollFocusedInputClearOfKeyboard\n );\n });\n }, [hasFit, scrollFocusedInputClearOfKeyboard]);\n useEffect(() => {\n if (!isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return () => {\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [hasFit, scheduleFocusedInputScroll]);\n useEffect(() => {\n setHasScrollView(true);\n if (isGestureHandlerEnabled()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return () => {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n const updateScrollable = () => {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n const recordFitHeight = (height) => {\n parentHeight.current = height;\n };\n useEffect(() => {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [hasScrollableContent]);\n const gestureProps = useSheetScrollViewGestures({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n const contentWrapper = /* @__PURE__ */ jsxs(\n View,\n {\n onLayout: (e) => {\n const height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ jsx(\n View,\n {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n }\n )\n ]\n }\n );\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n const RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ jsx(\n RNGHComponent,\n {\n ref: composeRefs(scrollRef, ref),\n style: fitSizingStyle,\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [panGestureRef],\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n scrollRef.current?.scrollTo?.({\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll?.({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n ...keyboardFrozenOverride,\n children: contentWrapper\n }\n );\n }\n return /* @__PURE__ */ jsx(\n ScrollView,\n {\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: composeRefs(scrollRef, ref),\n ...fitSizingStyle,\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n ...keyboardFrozenOverride,\n children: contentWrapper\n }\n );\n },\n {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n }\n);\nexport {\n SheetScrollView\n};\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+
3
+
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
28
+ }) : target, mod));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var SheetScrollView_exports = {};
31
+ __export(SheetScrollView_exports, { SheetScrollView: () => SheetScrollView });
32
+ module.exports = __toCommonJS(SheetScrollView_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_compose_refs = require("@tamagui/compose-refs");
35
+ var import_core = require("@tamagui/core");
36
+ var import_scroll_view = require("@tamagui/scroll-view");
37
+ var import_use_controllable_state = require("@tamagui/use-controllable-state");
38
+ var import_react = __toESM(require("react"), 1);
39
+ var import_GestureSheetContext = require("./GestureSheetContext.native.js");
40
+ var import_gestureState = require("./gestureState.native.js");
41
+ var import_SheetContext = require("./SheetContext.native.js");
42
+ var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.native.js");
43
+ var import_webViewport = require("./webViewport.native.js");
44
+ var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
45
+ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {
46
+ var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, ...props } = param;
47
+ var context = (0, import_SheetContext.useSheetContext)(scope);
48
+ var gestureContext = (0, import_GestureSheetContext.useGestureSheetContext)();
49
+ var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;
50
+ var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
51
+ var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
52
+ var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
53
+ prop: scrollEnabledProp,
54
+ defaultProp: true
55
+ });
56
+ var scrollRef = import_react.default.useRef(null);
57
+ var [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);
58
+ var parentHeight = (0, import_react.useRef)(0);
59
+ var contentHeight = (0, import_react.useRef)(0);
60
+ var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
61
+ var fitSizingStyle = hasFit ? {
62
+ flex: void 0,
63
+ height: void 0,
64
+ maxHeight: screenSize || void 0
65
+ } : { flex: 1 };
66
+ var contentContainerStyle = hasFit ? void 0 : { minHeight: "100%" };
67
+ var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
68
+ height: frozenFrameHeight,
69
+ maxHeight: frozenFrameHeight
70
+ } : null;
71
+ var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;
72
+ var { ScrollView: RNGHScrollView } = (0, import_gestureState.getGestureHandlerState)();
73
+ var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
74
+ var currentScrollOffset = (0, import_react.useRef)(0);
75
+ var lastEmittedScrollOffset = (0, import_react.useRef)(0);
76
+ var lockedScrollY = (0, import_react.useRef)(0);
77
+ var focusedInputScrollFrame = (0, import_react.useRef)(0);
78
+ var setScrollEnabled = function(next, lockTo) {
79
+ if (!next) {
80
+ var _ref;
81
+ var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;
82
+ if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {
83
+ return;
84
+ }
85
+ scrollBridge.enabled = false;
86
+ lockedScrollY.current = lockY;
87
+ scrollBridge.scrollLockY = lockY;
88
+ if (currentScrollOffset.current !== lockY) {
89
+ var _scrollRef_current_scrollTo, _scrollRef_current;
90
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
91
+ x: 0,
92
+ y: lockY,
93
+ animated: false
94
+ });
95
+ currentScrollOffset.current = lockY;
96
+ }
97
+ } else {
98
+ if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {
99
+ return;
100
+ }
101
+ scrollBridge.enabled = true;
102
+ lockedScrollY.current = currentScrollOffset.current;
103
+ scrollBridge.scrollLockY = void 0;
104
+ }
105
+ };
106
+ var forceScrollTo = function(y) {
107
+ var _scrollRef_current_scrollTo, _scrollRef_current;
108
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
109
+ x: 0,
110
+ y,
111
+ animated: false
112
+ });
113
+ currentScrollOffset.current = y;
114
+ };
115
+ var emitManualScroll = import_react.default.useCallback(function(node, y) {
116
+ currentScrollOffset.current = y;
117
+ scrollBridge.y = y;
118
+ if (y > 0) scrollBridge.scrollStartY = -1;
119
+ lastEmittedScrollOffset.current = y;
120
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll({
121
+ nativeEvent: {
122
+ contentOffset: {
123
+ x: node.scrollLeft,
124
+ y
125
+ },
126
+ contentSize: {
127
+ height: node.scrollHeight,
128
+ width: node.scrollWidth
129
+ },
130
+ layoutMeasurement: {
131
+ height: node.offsetHeight,
132
+ width: node.offsetWidth
133
+ }
134
+ },
135
+ timeStamp: Date.now()
136
+ });
137
+ }, [onScroll, scrollBridge]);
138
+ var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function() {
139
+ var _scrollRef_current;
140
+ if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
141
+ return;
142
+ }
143
+ var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();
144
+ var active = document.activeElement;
145
+ if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {
146
+ return;
147
+ }
148
+ var keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());
149
+ if (keyboardHeight <= 0) return;
150
+ var activeRect = active.getBoundingClientRect();
151
+ var nodeRect = node.getBoundingClientRect();
152
+ var margin = 12;
153
+ var keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;
154
+ var visibleTop = nodeRect.top + margin;
155
+ var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
156
+ var nextScrollTop = node.scrollTop;
157
+ if (activeRect.bottom > visibleBottom) {
158
+ nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
159
+ } else if (activeRect.top < visibleTop) {
160
+ nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
161
+ }
162
+ var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
163
+ nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
164
+ if (nextScrollTop === node.scrollTop) return;
165
+ node.scrollTop = nextScrollTop;
166
+ currentScrollOffset.current = nextScrollTop;
167
+ scrollBridge.y = nextScrollTop;
168
+ if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
169
+ }, [
170
+ hasFit,
171
+ isKeyboardVisible,
172
+ keyboardOccludedHeight,
173
+ scrollBridge
174
+ ]);
175
+ var scheduleFocusedInputScroll = import_react.default.useCallback(function() {
176
+ if (!import_core.isWeb || !hasFit) return;
177
+ cancelAnimationFrame(focusedInputScrollFrame.current);
178
+ focusedInputScrollFrame.current = requestAnimationFrame(function() {
179
+ scrollFocusedInputClearOfKeyboard();
180
+ focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
181
+ });
182
+ }, [hasFit, scrollFocusedInputClearOfKeyboard]);
183
+ (0, import_react.useEffect)(function() {
184
+ var _window_visualViewport;
185
+ if (!import_core.isWeb || !hasFit) return;
186
+ scheduleFocusedInputScroll();
187
+ window.addEventListener("focusin", scheduleFocusedInputScroll);
188
+ (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener("resize", scheduleFocusedInputScroll);
189
+ return function() {
190
+ var _window_visualViewport2;
191
+ cancelAnimationFrame(focusedInputScrollFrame.current);
192
+ window.removeEventListener("focusin", scheduleFocusedInputScroll);
193
+ (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener("resize", scheduleFocusedInputScroll);
194
+ };
195
+ }, [hasFit, scheduleFocusedInputScroll]);
196
+ (0, import_react.useEffect)(function() {
197
+ setHasScrollView(true);
198
+ if ((0, import_gestureState.isGestureHandlerEnabled)()) {
199
+ scrollBridge.setScrollEnabled = setScrollEnabled;
200
+ scrollBridge.forceScrollTo = forceScrollTo;
201
+ }
202
+ return function() {
203
+ setHasScrollView(false);
204
+ scrollBridge.setScrollEnabled = void 0;
205
+ scrollBridge.forceScrollTo = void 0;
206
+ };
207
+ }, []);
208
+ var updateScrollable = function() {
209
+ if (parentHeight.current && contentHeight.current) {
210
+ setHasScrollableContent(contentHeight.current > parentHeight.current);
211
+ }
212
+ };
213
+ var recordFitHeight = function(height) {
214
+ parentHeight.current = height;
215
+ };
216
+ (0, import_react.useEffect)(function() {
217
+ scrollBridge.hasScrollableContent = hasScrollableContent;
218
+ }, [hasScrollableContent]);
219
+ var gestureProps = (0, import_useSheetScrollViewGestures.useSheetScrollViewGestures)({
220
+ scrollRef,
221
+ scrollBridge,
222
+ hasScrollableContent,
223
+ scrollEnabled,
224
+ setScrollEnabled,
225
+ onManualScroll: emitManualScroll
226
+ });
227
+ var contentWrapper = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_core.View, {
228
+ onLayout: function(e) {
229
+ var height = Math.floor(e.nativeEvent.layout.height);
230
+ if (height !== contentHeight.current) {
231
+ contentHeight.current = height;
232
+ updateScrollable();
233
+ if (keyboardOccludedHeight > 0) {
234
+ scheduleFocusedInputScroll();
235
+ }
236
+ }
237
+ },
238
+ children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {
239
+ "data-sheet-keyboard-scroll-pad": true,
240
+ height: keyboardOccludedHeight,
241
+ width: "100%"
242
+ })]
243
+ });
244
+ if (useRNGHScrollView && RNGHScrollView && panGestureRef) {
245
+ var RNGHComponent = RNGHScrollView;
246
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHComponent, {
247
+ ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
248
+ style: fitSizingStyle,
249
+ scrollEventThrottle: 1,
250
+ scrollEnabled,
251
+ simultaneousHandlers: [panGestureRef],
252
+ onLayout: function(e) {
253
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
254
+ updateScrollable();
255
+ },
256
+ onScroll: function(e) {
257
+ var { y } = e.nativeEvent.contentOffset;
258
+ currentScrollOffset.current = y;
259
+ if (scrollBridge.scrollLockY !== void 0) {
260
+ if (y !== scrollBridge.scrollLockY) {
261
+ var _scrollRef_current_scrollTo, _scrollRef_current;
262
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
263
+ x: 0,
264
+ y: scrollBridge.scrollLockY,
265
+ animated: false
266
+ });
267
+ }
268
+ currentScrollOffset.current = scrollBridge.scrollLockY;
269
+ scrollBridge.y = scrollBridge.scrollLockY;
270
+ if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {
271
+ lastEmittedScrollOffset.current = scrollBridge.scrollLockY;
272
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll({
273
+ ...e,
274
+ nativeEvent: {
275
+ ...e.nativeEvent,
276
+ contentOffset: {
277
+ ...e.nativeEvent.contentOffset,
278
+ y: scrollBridge.scrollLockY
279
+ }
280
+ }
281
+ });
282
+ }
283
+ return;
284
+ }
285
+ scrollBridge.y = y;
286
+ if (y > 0) scrollBridge.scrollStartY = -1;
287
+ lastEmittedScrollOffset.current = y;
288
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
289
+ },
290
+ contentContainerStyle,
291
+ bounces: false,
292
+ keyboardShouldPersistTaps: "always",
293
+ keyboardDismissMode: "none",
294
+ ...props,
295
+ ...keyboardFrozenOverride,
296
+ children: contentWrapper
297
+ });
298
+ }
299
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
300
+ onLayout: function(e) {
301
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
302
+ updateScrollable();
303
+ },
304
+ ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
305
+ ...fitSizingStyle,
306
+ scrollEventThrottle: 1,
307
+ className: "_ovs-contain",
308
+ scrollEnabled,
309
+ onScroll: function(e) {
310
+ var { y } = e.nativeEvent.contentOffset;
311
+ currentScrollOffset.current = y;
312
+ scrollBridge.y = y;
313
+ if (y > 0) scrollBridge.scrollStartY = -1;
314
+ lastEmittedScrollOffset.current = y;
315
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
316
+ },
317
+ contentContainerStyle,
318
+ ...gestureProps,
319
+ ...props,
320
+ ...keyboardFrozenOverride,
321
+ children: contentWrapper
322
+ });
323
+ }, {
324
+ disableTheme: true,
325
+ displayName: SHEET_SCROLL_VIEW_NAME
326
+ });