@tamagui/sheet 2.7.7 → 3.0.0-beta.637.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,31 +1,28 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  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;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var useGestureHandlerPan_exports = {};
26
- __export(useGestureHandlerPan_exports, {
27
- useGestureHandlerPan: () => useGestureHandlerPan
28
- });
25
+ __export(useGestureHandlerPan_exports, { useGestureHandlerPan: () => useGestureHandlerPan });
29
26
  module.exports = __toCommonJS(useGestureHandlerPan_exports);
30
27
  var import_constants = require("@tamagui/constants");
31
28
  var import_react = require("react");
@@ -34,253 +31,245 @@ var import_keyboardAvoidance = require("./keyboardAvoidance.native.js");
34
31
  var AT_TOP_THRESHOLD = 5;
35
32
  var SCROLL_HANDOFF_THRESHOLD = 160;
36
33
  function useGestureHandlerPan(config) {
37
- var {
38
- positions,
39
- frameSize,
40
- setPosition,
41
- animateTo,
42
- stopSpring,
43
- scrollBridge,
44
- setIsDragging,
45
- getCurrentPosition,
46
- resisted,
47
- disableDrag,
48
- isShowingInnerSheet,
49
- setAnimatedPosition,
50
- scrollGestureRef
51
- } = config;
52
- var gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
53
- var panGestureRef = (0, import_react.useRef)(null);
54
- var _config_snapPointsMode;
55
- var releaseConfigRef = (0, import_react.useRef)({
56
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
57
- snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
58
- isKeyboardVisible: config.isKeyboardVisible === true
59
- });
60
- var _config_snapPointsMode1;
61
- releaseConfigRef.current = {
62
- dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
63
- snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
64
- isKeyboardVisible: config.isKeyboardVisible === true
65
- };
66
- var gestureStateRef = (0, import_react.useRef)({
67
- startY: 0,
68
- // track last translation when pan was active (for position calculation after handoff)
69
- lastPanTranslationY: 0,
70
- // accumulated position offset from all pan movements
71
- accumulatedOffset: 0,
72
- // track previous translation for direction detection (like actions-sheet)
73
- prevTranslationY: 0,
74
- // track if scroll was engaged (scrollY > 0) at some point
75
- scrollEngaged: false,
76
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
77
- // causing positions to revert. Frozen positions ensure stable snap calculation.
78
- frozenPositions: [],
79
- frozenMinY: 0,
80
- frozenIsKeyboardVisible: false,
81
- // whether pan gesture actually started (vs just a tap in onBegin)
82
- panStarted: false,
83
- startedBelowTop: false,
84
- upwardDragAfterTop: 0,
85
- scrollUnlockedAfterTop: false,
86
- keepScrollLockedAfterEnd: false
87
- });
88
- var unlockScrollTimer = (0, import_react.useRef)(null);
89
- (0, import_react.useEffect)(function () {
90
- return function () {
91
- if (unlockScrollTimer.current) {
92
- clearTimeout(unlockScrollTimer.current);
93
- unlockScrollTimer.current = null;
94
- }
95
- };
96
- }, []);
97
- var onStart = (0, import_react.useCallback)(function () {
98
- stopSpring();
99
- }, [stopSpring]);
100
- var onEnd = (0, import_react.useCallback)(function (closestPoint, animationOverride) {
101
- var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
102
- if (unlockScrollTimer.current) {
103
- clearTimeout(unlockScrollTimer.current);
104
- unlockScrollTimer.current = null;
105
- }
106
- setIsDragging(false);
107
- scrollBridge.setParentDragging(false);
108
- scrollBridge.lockScrollAtTop = false;
109
- if (keepScrollLocked) {
110
- var _scrollBridge_setScrollEnabled;
111
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
112
- unlockScrollTimer.current = setTimeout(function () {
113
- var _scrollBridge_setScrollEnabled2;
114
- unlockScrollTimer.current = null;
115
- (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
116
- }, 160);
117
- } else {
118
- var _scrollBridge_setScrollEnabled1;
119
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
120
- }
121
- setPosition(closestPoint);
122
- animateTo(closestPoint, animationOverride);
123
- }, [setIsDragging, scrollBridge, setPosition, animateTo]);
124
- var panGesture = (0, import_react.useMemo)(function () {
125
- if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
126
- return null;
127
- }
128
- var {
129
- Gesture
130
- } = (0, import_gestureState.getGestureHandlerState)();
131
- if (!Gesture) {
132
- return null;
133
- }
134
- var minY = positions[0];
135
- var gs = gestureStateRef.current;
136
- var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function () {
137
- gs.panStarted = false;
138
- if (config.pauseKeyboardHandler) {
139
- config.pauseKeyboardHandler.current = true;
140
- }
141
- var pos = getCurrentPosition();
142
- var atTop = pos <= minY + AT_TOP_THRESHOLD;
143
- var currentScrollY = scrollBridge.y;
144
- gs.startY = pos;
145
- gs.lastPanTranslationY = 0;
146
- gs.accumulatedOffset = 0;
147
- gs.prevTranslationY = 0;
148
- gs.scrollEngaged = currentScrollY > 0;
149
- gs.frozenPositions = [...positions];
150
- gs.frozenMinY = minY;
151
- gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
152
- gs.startedBelowTop = !atTop;
153
- gs.upwardDragAfterTop = 0;
154
- gs.scrollUnlockedAfterTop = false;
155
- gs.keepScrollLockedAfterEnd = false;
156
- scrollBridge.lockScrollAtTop = false;
157
- if (unlockScrollTimer.current) {
158
- clearTimeout(unlockScrollTimer.current);
159
- unlockScrollTimer.current = null;
160
- }
161
- if (!atTop) {
162
- var _scrollBridge_setScrollEnabled;
163
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
164
- }
165
- }).onStart(function () {
166
- gs.panStarted = true;
167
- setIsDragging(true);
168
- scrollBridge.initialPosition = gs.startY;
169
- onStart();
170
- }).onChange(function (event) {
171
- var {
172
- translationY
173
- } = event;
174
- var isSwipingDown = gs.prevTranslationY < translationY;
175
- var deltaY = translationY - gs.prevTranslationY;
176
- gs.prevTranslationY = translationY;
177
- var scrollY = scrollBridge.y;
178
- if (scrollY > 0) {
179
- gs.scrollEngaged = true;
180
- }
181
- var currentPos = gs.startY + gs.accumulatedOffset;
182
- var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
183
- var nodeIsScrolling = scrollY > 0;
184
- var panHandles = false;
185
- var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
186
- if (!isCurrentlyAtTop) {
187
- if (isSwipingDown) {
188
- panHandles = !nodeIsScrolling || !hasScrollableContent;
189
- } else {
190
- panHandles = true;
191
- }
192
- } else {
193
- if (isSwipingDown) {
194
- if (nodeIsScrolling && hasScrollableContent) {
195
- panHandles = false;
196
- } else if (gs.scrollEngaged && hasScrollableContent) {
197
- panHandles = true;
198
- } else {
199
- panHandles = true;
200
- }
201
- } else {
202
- if (hasScrollableContent) {
203
- if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
204
- gs.upwardDragAfterTop += Math.max(0, -deltaY);
205
- if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
206
- gs.scrollUnlockedAfterTop = true;
207
- panHandles = false;
208
- } else {
209
- panHandles = true;
210
- }
211
- } else {
212
- panHandles = false;
213
- }
214
- } else {
215
- panHandles = true;
216
- }
217
- }
218
- }
219
- if (panHandles) {
220
- var _scrollBridge_setScrollEnabled;
221
- scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
222
- var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
223
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
224
- gs.accumulatedOffset += deltaY;
225
- var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
226
- scrollBridge.paneY = newPosition;
227
- setAnimatedPosition(newPosition);
228
- scrollBridge.setParentDragging(newPosition > minY);
229
- } else {
230
- var _scrollBridge_setScrollEnabled1;
231
- scrollBridge.lockScrollAtTop = false;
232
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
233
- scrollBridge.setParentDragging(false);
234
- }
235
- }).onEnd(function (event) {
236
- var {
237
- velocityY
238
- } = event;
239
- var currentPos = gs.startY + gs.accumulatedOffset;
240
- var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
241
- scrollBridge.lockScrollAtTop = false;
242
- scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
243
- gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
244
- var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
245
- var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
246
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
247
- onEnd(0, void 0, keepScrollLockedAfterEnd);
248
- return;
249
- }
250
- var velocity = velocityY / 1e3;
251
- var projectedEnd = currentPos + frameSize * velocity * 0.2;
252
- var releaseConfig = releaseConfigRef.current;
253
- var closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
254
- positions: snapPositions,
255
- projectedEnd,
256
- currentPosition: currentPos,
257
- frameSize,
258
- dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
259
- snapPointsMode: releaseConfig.snapPointsMode,
260
- isKeyboardVisible: gs.frozenIsKeyboardVisible,
261
- isWeb: import_constants.isWeb
262
- });
263
- onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
264
- }).onFinalize(function () {
265
- scrollBridge.lockScrollAtTop = false;
266
- scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
267
- if (gs.panStarted) {
268
- setIsDragging(false);
269
- } else {
270
- if (config.pauseKeyboardHandler) {
271
- config.pauseKeyboardHandler.current = false;
272
- }
273
- }
274
- }).runOnJS(true);
275
- if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
276
- return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
277
- }
278
- return gesture;
279
- }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
280
- return {
281
- panGesture,
282
- panGestureRef,
283
- gestureHandlerEnabled
284
- };
34
+ var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;
35
+ var gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
36
+ var panGestureRef = (0, import_react.useRef)(null);
37
+ var _config_snapPointsMode;
38
+ var releaseConfigRef = (0, import_react.useRef)({
39
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
40
+ snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
41
+ isKeyboardVisible: config.isKeyboardVisible === true
42
+ });
43
+ var _config_snapPointsMode1;
44
+ releaseConfigRef.current = {
45
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
46
+ snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
47
+ isKeyboardVisible: config.isKeyboardVisible === true
48
+ };
49
+ var gestureStateRef = (0, import_react.useRef)({
50
+ startY: 0,
51
+ lastPanTranslationY: 0,
52
+ accumulatedOffset: 0,
53
+ prevTranslationY: 0,
54
+ scrollEngaged: false,
55
+ frozenPositions: [],
56
+ frozenMinY: 0,
57
+ frozenIsKeyboardVisible: false,
58
+ panStarted: false,
59
+ startedBelowTop: false,
60
+ upwardDragAfterTop: 0,
61
+ scrollUnlockedAfterTop: false,
62
+ keepScrollLockedAfterEnd: false
63
+ });
64
+ var unlockScrollTimer = (0, import_react.useRef)(null);
65
+ (0, import_react.useEffect)(function() {
66
+ return function() {
67
+ if (unlockScrollTimer.current) {
68
+ clearTimeout(unlockScrollTimer.current);
69
+ unlockScrollTimer.current = null;
70
+ }
71
+ };
72
+ }, []);
73
+ var onStart = (0, import_react.useCallback)(function() {
74
+ stopSpring();
75
+ }, [stopSpring]);
76
+ var onEnd = (0, import_react.useCallback)(function(closestPoint, animationOverride) {
77
+ var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
78
+ if (unlockScrollTimer.current) {
79
+ clearTimeout(unlockScrollTimer.current);
80
+ unlockScrollTimer.current = null;
81
+ }
82
+ setIsDragging(false);
83
+ scrollBridge.setParentDragging(false);
84
+ scrollBridge.lockScrollAtTop = false;
85
+ if (keepScrollLocked) {
86
+ var _scrollBridge_setScrollEnabled;
87
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
88
+ unlockScrollTimer.current = setTimeout(function() {
89
+ var _scrollBridge_setScrollEnabled2;
90
+ unlockScrollTimer.current = null;
91
+ (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
92
+ }, 160);
93
+ } else {
94
+ var _scrollBridge_setScrollEnabled1;
95
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
96
+ }
97
+ setPosition(closestPoint);
98
+ animateTo(closestPoint, animationOverride);
99
+ }, [
100
+ setIsDragging,
101
+ scrollBridge,
102
+ setPosition,
103
+ animateTo
104
+ ]);
105
+ var panGesture = (0, import_react.useMemo)(function() {
106
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
107
+ return null;
108
+ }
109
+ var { Gesture } = (0, import_gestureState.getGestureHandlerState)();
110
+ if (!Gesture) {
111
+ return null;
112
+ }
113
+ var minY = positions[0];
114
+ var gs = gestureStateRef.current;
115
+ var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(function() {
116
+ gs.panStarted = false;
117
+ if (config.pauseKeyboardHandler) {
118
+ config.pauseKeyboardHandler.current = true;
119
+ }
120
+ var pos = getCurrentPosition();
121
+ var atTop = pos <= minY + AT_TOP_THRESHOLD;
122
+ var currentScrollY = scrollBridge.y;
123
+ gs.startY = pos;
124
+ gs.lastPanTranslationY = 0;
125
+ gs.accumulatedOffset = 0;
126
+ gs.prevTranslationY = 0;
127
+ gs.scrollEngaged = currentScrollY > 0;
128
+ gs.frozenPositions = [...positions];
129
+ gs.frozenMinY = minY;
130
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
131
+ gs.startedBelowTop = !atTop;
132
+ gs.upwardDragAfterTop = 0;
133
+ gs.scrollUnlockedAfterTop = false;
134
+ gs.keepScrollLockedAfterEnd = false;
135
+ scrollBridge.lockScrollAtTop = false;
136
+ if (unlockScrollTimer.current) {
137
+ clearTimeout(unlockScrollTimer.current);
138
+ unlockScrollTimer.current = null;
139
+ }
140
+ if (!atTop) {
141
+ var _scrollBridge_setScrollEnabled;
142
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
143
+ }
144
+ }).onStart(function() {
145
+ gs.panStarted = true;
146
+ setIsDragging(true);
147
+ scrollBridge.initialPosition = gs.startY;
148
+ onStart();
149
+ }).onChange(function(event) {
150
+ var { translationY } = event;
151
+ var isSwipingDown = gs.prevTranslationY < translationY;
152
+ var deltaY = translationY - gs.prevTranslationY;
153
+ gs.prevTranslationY = translationY;
154
+ var scrollY = scrollBridge.y;
155
+ if (scrollY > 0) {
156
+ gs.scrollEngaged = true;
157
+ }
158
+ var currentPos = gs.startY + gs.accumulatedOffset;
159
+ var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
160
+ var nodeIsScrolling = scrollY > 0;
161
+ var panHandles = false;
162
+ var hasScrollableContent = scrollBridge.hasScrollableContent !== false;
163
+ if (!isCurrentlyAtTop) {
164
+ if (isSwipingDown) {
165
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
166
+ } else {
167
+ panHandles = true;
168
+ }
169
+ } else {
170
+ if (isSwipingDown) {
171
+ if (nodeIsScrolling && hasScrollableContent) {
172
+ panHandles = false;
173
+ } else if (gs.scrollEngaged && hasScrollableContent) {
174
+ panHandles = true;
175
+ } else {
176
+ panHandles = true;
177
+ }
178
+ } else {
179
+ if (hasScrollableContent) {
180
+ if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
181
+ gs.upwardDragAfterTop += Math.max(0, -deltaY);
182
+ if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
183
+ gs.scrollUnlockedAfterTop = true;
184
+ panHandles = false;
185
+ } else {
186
+ panHandles = true;
187
+ }
188
+ } else {
189
+ panHandles = false;
190
+ }
191
+ } else {
192
+ panHandles = true;
193
+ }
194
+ }
195
+ }
196
+ if (panHandles) {
197
+ var _scrollBridge_setScrollEnabled;
198
+ scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
199
+ var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
200
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
201
+ gs.accumulatedOffset += deltaY;
202
+ var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
203
+ scrollBridge.paneY = newPosition;
204
+ setAnimatedPosition(newPosition);
205
+ scrollBridge.setParentDragging(newPosition > minY);
206
+ } else {
207
+ var _scrollBridge_setScrollEnabled1;
208
+ scrollBridge.lockScrollAtTop = false;
209
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
210
+ scrollBridge.setParentDragging(false);
211
+ }
212
+ }).onEnd(function(event) {
213
+ var { velocityY } = event;
214
+ var currentPos = gs.startY + gs.accumulatedOffset;
215
+ var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
216
+ scrollBridge.lockScrollAtTop = false;
217
+ scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
218
+ gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
219
+ var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
220
+ var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
221
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
222
+ onEnd(0, void 0, keepScrollLockedAfterEnd);
223
+ return;
224
+ }
225
+ var velocity = velocityY / 1e3;
226
+ var projectedEnd = currentPos + frameSize * velocity * .2;
227
+ var releaseConfig = releaseConfigRef.current;
228
+ var closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
229
+ positions: snapPositions,
230
+ projectedEnd,
231
+ currentPosition: currentPos,
232
+ frameSize,
233
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
234
+ snapPointsMode: releaseConfig.snapPointsMode,
235
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
236
+ isWeb: import_constants.isWeb
237
+ });
238
+ onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
239
+ }).onFinalize(function() {
240
+ scrollBridge.lockScrollAtTop = false;
241
+ scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
242
+ if (gs.panStarted) {
243
+ setIsDragging(false);
244
+ } else {
245
+ if (config.pauseKeyboardHandler) {
246
+ config.pauseKeyboardHandler.current = false;
247
+ }
248
+ }
249
+ }).runOnJS(true);
250
+ if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {
251
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
252
+ }
253
+ return gesture;
254
+ }, [
255
+ gestureHandlerEnabled,
256
+ disableDrag,
257
+ isShowingInnerSheet,
258
+ frameSize,
259
+ positions,
260
+ scrollBridge,
261
+ getCurrentPosition,
262
+ resisted,
263
+ onStart,
264
+ onEnd,
265
+ setIsDragging,
266
+ setAnimatedPosition
267
+ ]);
268
+ return {
269
+ panGesture,
270
+ panGestureRef,
271
+ gestureHandlerEnabled
272
+ };
285
273
  }
274
+
286
275
  //# sourceMappingURL=useGestureHandlerPan.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useGestureHandlerPan_exports","__export","useGestureHandlerPan","module","exports","import_constants","require","import_react","import_gestureState","import_keyboardAvoidance","AT_TOP_THRESHOLD","SCROLL_HANDOFF_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","_config_snapPointsMode","releaseConfigRef","dismissOnSnapToBottom","snapPointsMode","isKeyboardVisible","_config_snapPointsMode1","current","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","frozenIsKeyboardVisible","panStarted","startedBelowTop","upwardDragAfterTop","scrollUnlockedAfterTop","keepScrollLockedAfterEnd","unlockScrollTimer","useEffect","clearTimeout","onStart","useCallback","onEnd","closestPoint","animationOverride","keepScrollLocked","arguments","length","setParentDragging","lockScrollAtTop","_scrollBridge_setScrollEnabled","setScrollEnabled","call","setTimeout","_scrollBridge_setScrollEnabled2","_scrollBridge_setScrollEnabled1","panGesture","useMemo","Gesture","getGestureHandlerState","minY","gs","gesture","Pan","withRef","activeOffsetY","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","Math","max","lockTo","newPosition","paneY","velocityY","scrollLockY","snapPositions","snapMinY","velocity","projectedEnd","releaseConfig","getSheetReleasePosition","currentPosition","isWeb","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useGestureHandlerPan.native.js","names":[],"sources":["cjs/useGestureHandlerPan.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useGestureHandlerPan_exports = {};\n__export(useGestureHandlerPan_exports, {\n useGestureHandlerPan: () => useGestureHandlerPan\n});\nmodule.exports = __toCommonJS(useGestureHandlerPan_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = require(\"react\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_keyboardAvoidance = require(\"./keyboardAvoidance\");\nvar AT_TOP_THRESHOLD = 5;\nvar SCROLL_HANDOFF_THRESHOLD = 160;\nfunction useGestureHandlerPan(config) {\n var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;\n var gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();\n var panGestureRef = (0, import_react.useRef)(null);\n var _config_snapPointsMode;\n var releaseConfigRef = (0, import_react.useRef)({\n dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,\n snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : \"percent\",\n isKeyboardVisible: config.isKeyboardVisible === true\n });\n var _config_snapPointsMode1;\n releaseConfigRef.current = {\n dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,\n snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : \"percent\",\n isKeyboardVisible: config.isKeyboardVisible === true\n };\n var gestureStateRef = (0, import_react.useRef)({\n startY: 0,\n // track last translation when pan was active (for position calculation after handoff)\n lastPanTranslationY: 0,\n // accumulated position offset from all pan movements\n accumulatedOffset: 0,\n // track previous translation for direction detection (like actions-sheet)\n prevTranslationY: 0,\n // track if scroll was engaged (scrollY > 0) at some point\n scrollEngaged: false,\n // positions frozen at gesture start — keyboard may dismiss during drag (input blur),\n // causing positions to revert. Frozen positions ensure stable snap calculation.\n frozenPositions: [],\n frozenMinY: 0,\n frozenIsKeyboardVisible: false,\n // whether pan gesture actually started (vs just a tap in onBegin)\n panStarted: false,\n startedBelowTop: false,\n upwardDragAfterTop: 0,\n scrollUnlockedAfterTop: false,\n keepScrollLockedAfterEnd: false\n });\n var unlockScrollTimer = (0, import_react.useRef)(null);\n (0, import_react.useEffect)(function() {\n return function() {\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n };\n }, []);\n var onStart = (0, import_react.useCallback)(function() {\n stopSpring();\n }, [\n stopSpring\n ]);\n var onEnd = (0, import_react.useCallback)(function(closestPoint, animationOverride) {\n var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n setIsDragging(false);\n scrollBridge.setParentDragging(false);\n scrollBridge.lockScrollAtTop = false;\n if (keepScrollLocked) {\n var _scrollBridge_setScrollEnabled;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);\n unlockScrollTimer.current = setTimeout(function() {\n var _scrollBridge_setScrollEnabled2;\n unlockScrollTimer.current = null;\n (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);\n }, 160);\n } else {\n var _scrollBridge_setScrollEnabled1;\n (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);\n }\n setPosition(closestPoint);\n animateTo(closestPoint, animationOverride);\n }, [\n setIsDragging,\n scrollBridge,\n setPosition,\n animateTo\n ]);\n var panGesture = (0, import_react.useMemo)(function() {\n if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {\n return null;\n }\n var { Gesture } = (0, import_gestureState.getGestureHandlerState)();\n if (!Gesture) {\n return null;\n }\n var minY = positions[0];\n var gs = gestureStateRef.current;\n var gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([\n -10,\n 10\n ]).failOffsetX([\n -20,\n 20\n ]).shouldCancelWhenOutside(false).onBegin(function() {\n gs.panStarted = false;\n if (config.pauseKeyboardHandler) {\n config.pauseKeyboardHandler.current = true;\n }\n var pos = getCurrentPosition();\n var atTop = pos <= minY + AT_TOP_THRESHOLD;\n var currentScrollY = scrollBridge.y;\n gs.startY = pos;\n gs.lastPanTranslationY = 0;\n gs.accumulatedOffset = 0;\n gs.prevTranslationY = 0;\n gs.scrollEngaged = currentScrollY > 0;\n gs.frozenPositions = [\n ...positions\n ];\n gs.frozenMinY = minY;\n gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;\n gs.startedBelowTop = !atTop;\n gs.upwardDragAfterTop = 0;\n gs.scrollUnlockedAfterTop = false;\n gs.keepScrollLockedAfterEnd = false;\n scrollBridge.lockScrollAtTop = false;\n if (unlockScrollTimer.current) {\n clearTimeout(unlockScrollTimer.current);\n unlockScrollTimer.current = null;\n }\n if (!atTop) {\n var _scrollBridge_setScrollEnabled;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);\n }\n }).onStart(function() {\n gs.panStarted = true;\n setIsDragging(true);\n scrollBridge.initialPosition = gs.startY;\n onStart();\n }).onChange(function(event) {\n var { translationY } = event;\n var isSwipingDown = gs.prevTranslationY < translationY;\n var deltaY = translationY - gs.prevTranslationY;\n gs.prevTranslationY = translationY;\n var scrollY = scrollBridge.y;\n if (scrollY > 0) {\n gs.scrollEngaged = true;\n }\n var currentPos = gs.startY + gs.accumulatedOffset;\n var isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;\n var nodeIsScrolling = scrollY > 0;\n var panHandles = false;\n var hasScrollableContent = scrollBridge.hasScrollableContent !== false;\n if (!isCurrentlyAtTop) {\n if (isSwipingDown) {\n panHandles = !nodeIsScrolling || !hasScrollableContent;\n } else {\n panHandles = true;\n }\n } else {\n if (isSwipingDown) {\n if (nodeIsScrolling && hasScrollableContent) {\n panHandles = false;\n } else if (gs.scrollEngaged && hasScrollableContent) {\n panHandles = true;\n } else {\n panHandles = true;\n }\n } else {\n if (hasScrollableContent) {\n if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {\n gs.upwardDragAfterTop += Math.max(0, -deltaY);\n if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {\n gs.scrollUnlockedAfterTop = true;\n panHandles = false;\n } else {\n panHandles = true;\n }\n } else {\n panHandles = false;\n }\n } else {\n panHandles = true;\n }\n }\n }\n if (panHandles) {\n var _scrollBridge_setScrollEnabled;\n scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;\n var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;\n (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);\n gs.accumulatedOffset += deltaY;\n var newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);\n scrollBridge.paneY = newPosition;\n setAnimatedPosition(newPosition);\n scrollBridge.setParentDragging(newPosition > minY);\n } else {\n var _scrollBridge_setScrollEnabled1;\n scrollBridge.lockScrollAtTop = false;\n (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);\n scrollBridge.setParentDragging(false);\n }\n }).onEnd(function(event) {\n var { velocityY } = event;\n var currentPos = gs.startY + gs.accumulatedOffset;\n var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;\n scrollBridge.lockScrollAtTop = false;\n scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;\n gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;\n var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;\n var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;\n if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {\n onEnd(0, void 0, keepScrollLockedAfterEnd);\n return;\n }\n var velocity = velocityY / 1e3;\n var projectedEnd = currentPos + frameSize * velocity * 0.2;\n var releaseConfig = releaseConfigRef.current;\n var closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({\n positions: snapPositions,\n projectedEnd,\n currentPosition: currentPos,\n frameSize,\n dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,\n snapPointsMode: releaseConfig.snapPointsMode,\n isKeyboardVisible: gs.frozenIsKeyboardVisible,\n isWeb: import_constants.isWeb\n });\n onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);\n }).onFinalize(function() {\n scrollBridge.lockScrollAtTop = false;\n scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;\n if (gs.panStarted) {\n setIsDragging(false);\n } else {\n if (config.pauseKeyboardHandler) {\n config.pauseKeyboardHandler.current = false;\n }\n }\n }).runOnJS(true);\n if (scrollGestureRef === null || scrollGestureRef === void 0 ? void 0 : scrollGestureRef.current) {\n return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);\n }\n return gesture;\n }, [\n gestureHandlerEnabled,\n disableDrag,\n isShowingInnerSheet,\n frameSize,\n positions,\n scrollBridge,\n getCurrentPosition,\n resisted,\n onStart,\n onEnd,\n setIsDragging,\n setAnimatedPosition\n ]);\n return {\n panGesture,\n panGestureRef,\n gestureHandlerEnabled\n };\n}\n//# sourceMappingURL=useGestureHandlerPan.js.map\n"],"mappings":";;;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,+BAA+B,CAAC;AACpC,SAAS,8BAA8B,EACrC,4BAA4B,qBAC9B,CAAC;AACD,OAAO,UAAU,aAAa,4BAA4B;AAC1D,IAAI,mBAAmB,QAAQ,oBAAoB;AACnD,IAAI,eAAe,QAAQ,OAAO;AAClC,IAAI,sBAAsB,QAAQ,0BAAgB;AAClD,IAAI,2BAA2B,QAAQ,+BAAqB;AAC5D,IAAI,mBAAmB;AACvB,IAAI,2BAA2B;AAC/B,SAAS,qBAAqB,QAAQ;CACpC,IAAI,EAAE,WAAW,WAAW,aAAa,WAAW,YAAY,cAAc,eAAe,oBAAoB,UAAU,aAAa,qBAAqB,qBAAqB,qBAAqB;CACvM,IAAI,yBAAyB,GAAG,oBAAoB,yBAAyB;CAC7E,IAAI,iBAAiB,GAAG,aAAa,QAAQ,IAAI;CACjD,IAAI;CACJ,IAAI,oBAAoB,GAAG,aAAa,QAAQ;EAC9C,uBAAuB,OAAO,0BAA0B;EACxD,iBAAiB,yBAAyB,OAAO,oBAAoB,QAAQ,2BAA2B,KAAK,IAAI,yBAAyB;EAC1I,mBAAmB,OAAO,sBAAsB;CAClD,CAAC;CACD,IAAI;CACJ,iBAAiB,UAAU;EACzB,uBAAuB,OAAO,0BAA0B;EACxD,iBAAiB,0BAA0B,OAAO,oBAAoB,QAAQ,4BAA4B,KAAK,IAAI,0BAA0B;EAC7I,mBAAmB,OAAO,sBAAsB;CAClD;CACA,IAAI,mBAAmB,GAAG,aAAa,QAAQ;EAC7C,QAAQ;EAER,qBAAqB;EAErB,mBAAmB;EAEnB,kBAAkB;EAElB,eAAe;EAGf,iBAAiB,CAAC;EAClB,YAAY;EACZ,yBAAyB;EAEzB,YAAY;EACZ,iBAAiB;EACjB,oBAAoB;EACpB,wBAAwB;EACxB,0BAA0B;CAC5B,CAAC;CACD,IAAI,qBAAqB,GAAG,aAAa,QAAQ,IAAI;CACrD,CAAC,GAAG,aAAa,WAAW,WAAW;EACrC,OAAO,WAAW;GAChB,IAAI,kBAAkB,SAAS;IAC7B,aAAa,kBAAkB,OAAO;IACtC,kBAAkB,UAAU;GAC9B;EACF;CACF,GAAG,CAAC,CAAC;CACL,IAAI,WAAW,GAAG,aAAa,aAAa,WAAW;EACrD,WAAW;CACb,GAAG,CACD,UACF,CAAC;CACD,IAAI,SAAS,GAAG,aAAa,aAAa,SAAS,cAAc,mBAAmB;EAClF,IAAI,mBAAmB,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;EACxF,IAAI,kBAAkB,SAAS;GAC7B,aAAa,kBAAkB,OAAO;GACtC,kBAAkB,UAAU;EAC9B;EACA,cAAc,KAAK;EACnB,aAAa,kBAAkB,KAAK;EACpC,aAAa,kBAAkB;EAC/B,IAAI,kBAAkB;GACpB,IAAI;GACJ,CAAC,iCAAiC,aAAa,sBAAsB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,KAAK,cAAc,OAAO,CAAC;GAC5L,kBAAkB,UAAU,WAAW,WAAW;IAChD,IAAI;IACJ,kBAAkB,UAAU;IAC5B,CAAC,kCAAkC,aAAa,sBAAsB,QAAQ,oCAAoC,KAAK,IAAI,KAAK,IAAI,gCAAgC,KAAK,cAAc,IAAI;GAC7L,GAAG,GAAG;EACR,OAAO;GACL,IAAI;GACJ,CAAC,kCAAkC,aAAa,sBAAsB,QAAQ,oCAAoC,KAAK,IAAI,KAAK,IAAI,gCAAgC,KAAK,cAAc,IAAI;EAC7L;EACA,YAAY,YAAY;EACxB,UAAU,cAAc,iBAAiB;CAC3C,GAAG;EACD;EACA;EACA;EACA;CACF,CAAC;CACD,IAAI,cAAc,GAAG,aAAa,SAAS,WAAW;EACpD,IAAI,CAAC,yBAAyB,eAAe,uBAAuB,CAAC,WAAW;GAC9E,OAAO;EACT;EACA,IAAI,EAAE,aAAa,GAAG,oBAAoB,wBAAwB;EAClE,IAAI,CAAC,SAAS;GACZ,OAAO;EACT;EACA,IAAI,OAAO,UAAU;EACrB,IAAI,KAAK,gBAAgB;EACzB,IAAI,UAAU,QAAQ,IAAI,EAAE,QAAQ,aAAa,EAAE,cAAc,CAC/D,CAAC,IACD,EACF,CAAC,EAAE,YAAY,CACb,CAAC,IACD,EACF,CAAC,EAAE,wBAAwB,KAAK,EAAE,QAAQ,WAAW;GACnD,GAAG,aAAa;GAChB,IAAI,OAAO,sBAAsB;IAC/B,OAAO,qBAAqB,UAAU;GACxC;GACA,IAAI,MAAM,mBAAmB;GAC7B,IAAI,QAAQ,OAAO,OAAO;GAC1B,IAAI,iBAAiB,aAAa;GAClC,GAAG,SAAS;GACZ,GAAG,sBAAsB;GACzB,GAAG,oBAAoB;GACvB,GAAG,mBAAmB;GACtB,GAAG,gBAAgB,iBAAiB;GACpC,GAAG,kBAAkB,CACnB,GAAG,SACL;GACA,GAAG,aAAa;GAChB,GAAG,0BAA0B,iBAAiB,QAAQ;GACtD,GAAG,kBAAkB,CAAC;GACtB,GAAG,qBAAqB;GACxB,GAAG,yBAAyB;GAC5B,GAAG,2BAA2B;GAC9B,aAAa,kBAAkB;GAC/B,IAAI,kBAAkB,SAAS;IAC7B,aAAa,kBAAkB,OAAO;IACtC,kBAAkB,UAAU;GAC9B;GACA,IAAI,CAAC,OAAO;IACV,IAAI;IACJ,CAAC,iCAAiC,aAAa,sBAAsB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,KAAK,cAAc,OAAO,CAAC;GAC9L;EACF,CAAC,EAAE,QAAQ,WAAW;GACpB,GAAG,aAAa;GAChB,cAAc,IAAI;GAClB,aAAa,kBAAkB,GAAG;GAClC,QAAQ;EACV,CAAC,EAAE,SAAS,SAAS,OAAO;GAC1B,IAAI,EAAE,iBAAiB;GACvB,IAAI,gBAAgB,GAAG,mBAAmB;GAC1C,IAAI,SAAS,eAAe,GAAG;GAC/B,GAAG,mBAAmB;GACtB,IAAI,UAAU,aAAa;GAC3B,IAAI,UAAU,GAAG;IACf,GAAG,gBAAgB;GACrB;GACA,IAAI,aAAa,GAAG,SAAS,GAAG;GAChC,IAAI,mBAAmB,cAAc,OAAO;GAC5C,IAAI,kBAAkB,UAAU;GAChC,IAAI,aAAa;GACjB,IAAI,uBAAuB,aAAa,yBAAyB;GACjE,IAAI,CAAC,kBAAkB;IACrB,IAAI,eAAe;KACjB,aAAa,CAAC,mBAAmB,CAAC;IACpC,OAAO;KACL,aAAa;IACf;GACF,OAAO;IACL,IAAI,eAAe;KACjB,IAAI,mBAAmB,sBAAsB;MAC3C,aAAa;KACf,OAAO,IAAI,GAAG,iBAAiB,sBAAsB;MACnD,aAAa;KACf,OAAO;MACL,aAAa;KACf;IACF,OAAO;KACL,IAAI,sBAAsB;MACxB,IAAI,GAAG,mBAAmB,CAAC,GAAG,wBAAwB;OACpD,GAAG,sBAAsB,KAAK,IAAI,GAAG,CAAC,MAAM;OAC5C,IAAI,GAAG,sBAAsB,0BAA0B;QACrD,GAAG,yBAAyB;QAC5B,aAAa;OACf,OAAO;QACL,aAAa;OACf;MACF,OAAO;OACL,aAAa;MACf;KACF,OAAO;MACL,aAAa;KACf;IACF;GACF;GACA,IAAI,YAAY;IACd,IAAI;IACJ,aAAa,kBAAkB,GAAG,mBAAmB,CAAC,GAAG;IACzD,IAAI,SAAS,oBAAoB,iBAAiB,GAAG,gBAAgB,KAAK,IAAI;IAC9E,CAAC,iCAAiC,aAAa,sBAAsB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,KAAK,cAAc,OAAO,MAAM;IACjM,GAAG,qBAAqB;IACxB,IAAI,cAAc,SAAS,GAAG,SAAS,GAAG,mBAAmB,IAAI;IACjE,aAAa,QAAQ;IACrB,oBAAoB,WAAW;IAC/B,aAAa,kBAAkB,cAAc,IAAI;GACnD,OAAO;IACL,IAAI;IACJ,aAAa,kBAAkB;IAC/B,CAAC,kCAAkC,aAAa,sBAAsB,QAAQ,oCAAoC,KAAK,IAAI,KAAK,IAAI,gCAAgC,KAAK,cAAc,IAAI;IAC3L,aAAa,kBAAkB,KAAK;GACtC;EACF,CAAC,EAAE,MAAM,SAAS,OAAO;GACvB,IAAI,EAAE,cAAc;GACpB,IAAI,aAAa,GAAG,SAAS,GAAG;GAChC,IAAI,2BAA2B,GAAG,mBAAmB,CAAC,GAAG;GACzD,aAAa,kBAAkB;GAC/B,aAAa,cAAc,2BAA2B,IAAI,KAAK;GAC/D,GAAG,2BAA2B;GAC9B,IAAI,gBAAgB,GAAG,gBAAgB,SAAS,IAAI,GAAG,kBAAkB;GACzE,IAAI,WAAW,GAAG,gBAAgB,SAAS,IAAI,GAAG,aAAa;GAC/D,IAAI,cAAc,WAAW,oBAAoB,aAAa,IAAI,GAAG;IACnE,MAAM,GAAG,KAAK,GAAG,wBAAwB;IACzC;GACF;GACA,IAAI,WAAW,YAAY;GAC3B,IAAI,eAAe,aAAa,YAAY,WAAW;GACvD,IAAI,gBAAgB,iBAAiB;GACrC,IAAI,gBAAgB,GAAG,yBAAyB,yBAAyB;IACvE,WAAW;IACX;IACA,iBAAiB;IACjB;IACA,uBAAuB,cAAc;IACrC,gBAAgB,cAAc;IAC9B,mBAAmB,GAAG;IACtB,OAAO,iBAAiB;GAC1B,CAAC;GACD,MAAM,cAAc,KAAK,GAAG,wBAAwB;EACtD,CAAC,EAAE,WAAW,WAAW;GACvB,aAAa,kBAAkB;GAC/B,aAAa,cAAc,GAAG,2BAA2B,IAAI,KAAK;GAClE,IAAI,GAAG,YAAY;IACjB,cAAc,KAAK;GACrB,OAAO;IACL,IAAI,OAAO,sBAAsB;KAC/B,OAAO,qBAAqB,UAAU;IACxC;GACF;EACF,CAAC,EAAE,QAAQ,IAAI;EACf,IAAI,qBAAqB,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,SAAS;GAChG,OAAO,QAAQ,gCAAgC,iBAAiB,OAAO;EACzE;EACA,OAAO;CACT,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,OAAO;EACL;EACA;EACA;CACF;AACF"}