@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,3 +1,4 @@
1
+
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -5,177 +6,158 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __getProtoOf = Object.getPrototypeOf;
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
+ value: mod,
25
+ enumerable: true
30
26
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
28
  var useSheetProviderProps_exports = {};
35
- __export(useSheetProviderProps_exports, {
36
- useSheetProviderProps: () => useSheetProviderProps
37
- });
29
+ __export(useSheetProviderProps_exports, { useSheetProviderProps: () => useSheetProviderProps });
38
30
  module.exports = __toCommonJS(useSheetProviderProps_exports);
39
31
  var import_react = __toESM(require("react"), 1);
40
32
  var import_core = require("@tamagui/core");
41
33
  var import_use_constant = require("@tamagui/use-constant");
42
34
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
43
- function useSheetProviderProps(props, state, options = {}) {
44
- const handleRef = import_react.default.useRef(null);
45
- const contentRef = import_react.default.useRef(null);
46
- const [frameSize, setFrameSize] = import_react.default.useState(0);
47
- const [maxContentSize, setMaxContentSize] = import_react.default.useState(0);
48
- const snapPointsMode = props.snapPointsMode ?? "percent";
49
- const snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]);
50
- const hasFit = snapPointsProp[0] === "fit";
51
- const snapPoints = import_react.default.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]);
52
- const [position_, setPositionImmediate] = (0, import_use_controllable_state.useControllableState)({
53
- prop: props.position,
54
- defaultProp: props.defaultPosition || (state.open ? 0 : -1),
55
- onChange: props.onPositionChange,
56
- strategy: "most-recent-wins"
57
- });
58
- const position = state.open === false ? -1 : position_;
59
- const {
60
- open
61
- } = state;
62
- const setPosition = import_react.default.useCallback(next => {
63
- if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
64
- state.setOpen(false);
65
- } else {
66
- setPositionImmediate(next);
67
- }
68
- }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]);
69
- if (process.env.NODE_ENV === "development") {
70
- if (snapPointsMode === "mixed" && snapPoints.some(p => {
71
- if (typeof p === "string") {
72
- if (p === "fit") {
73
- return false;
74
- }
75
- if (p.endsWith("%")) {
76
- const n = Number(p.slice(0, -1));
77
- return n < 0 || n > 100;
78
- }
79
- return true;
80
- }
81
- return typeof p !== "number" || p < 0;
82
- })) {
83
- console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed');
84
- }
85
- if (snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0) {
86
- console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed');
87
- }
88
- if (snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit")) {
89
- console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit");
90
- }
91
- if (snapPointsMode === "constant" && snapPoints.some(p => typeof p !== "number" || p < 0)) {
92
- console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant");
93
- }
94
- if (snapPointsMode === "percent" && snapPoints.some(p => typeof p !== "number" || p < 0 || p > 100)) {
95
- console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent");
96
- }
97
- }
98
- if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
99
- setPositionImmediate(0);
100
- }
101
- const shouldSetPositionOpen = open && position < 0;
102
- import_react.default.useEffect(() => {
103
- if (shouldSetPositionOpen) {
104
- setPosition(0);
105
- }
106
- }, [setPosition, shouldSetPositionOpen]);
107
- const {
108
- animationDriver
109
- } = (0, import_core.useConfiguration)();
110
- if (!animationDriver) {
111
- throw new Error(process.env.NODE_ENV === "production" ? `\u274C 008` : "Must set animations in tamagui.config.ts");
112
- }
113
- const scrollBridge = (0, import_use_constant.useConstant)(() => {
114
- const parentDragListeners = /* @__PURE__ */new Set();
115
- const bridge = {
116
- hasScrollableContent: false,
117
- enabled: false,
118
- y: 0,
119
- paneY: 0,
120
- paneMinY: 0,
121
- scrollStartY: -1,
122
- drag: () => {},
123
- release: () => {},
124
- scrollLock: false,
125
- isParentDragging: false,
126
- onParentDragging: cb => {
127
- parentDragListeners.add(cb);
128
- return () => {
129
- parentDragListeners.delete(cb);
130
- };
131
- },
132
- setParentDragging: val => {
133
- if (val !== bridge.isParentDragging) {
134
- bridge.isParentDragging = val;
135
- parentDragListeners.forEach(cb => cb(val));
136
- }
137
- }
138
- };
139
- return bridge;
140
- });
141
- let disableRemoveScroll;
142
- if (props.disableRemoveScroll !== void 0) {
143
- disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal;
144
- } else if (props.forceRemoveScrollEnabled !== void 0) {
145
- if (process.env.NODE_ENV === "development") {
146
- console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead.");
147
- }
148
- disableRemoveScroll = !props.forceRemoveScrollEnabled;
149
- } else {
150
- disableRemoveScroll = !open || !props.modal;
151
- }
152
- const maxSnapPoint = snapPoints[0];
153
- const screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint === "number" ? maxSnapPoint : 100) / 100) : maxContentSize;
154
- const providerProps = {
155
- screenSize,
156
- maxSnapPoint,
157
- disableRemoveScroll,
158
- scrollBridge,
159
- modal: !!props.modal,
160
- open: state.open,
161
- setOpen: state.setOpen,
162
- hidden: !!state.isHidden,
163
- contentRef,
164
- handleRef,
165
- frameSize,
166
- setFrameSize,
167
- dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
168
- dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
169
- onOverlayComponent: options.onOverlayComponent,
170
- scope: props.__scopeSheet,
171
- hasFit,
172
- position,
173
- snapPoints,
174
- snapPointsMode,
175
- setMaxContentSize,
176
- setPosition,
177
- setPositionImmediate,
178
- onlyShowFrame: false
179
- };
180
- return providerProps;
181
- }
35
+ function useSheetProviderProps(props, state) {
36
+ const handleRef = import_react.default.useRef(null);
37
+ const contentRef = import_react.default.useRef(null);
38
+ const [frameSize, setFrameSize] = import_react.default.useState(0);
39
+ const [maxContentSize, setMaxContentSize] = import_react.default.useState(0);
40
+ const snapPointsMode = props.snapPointsMode ?? "percent";
41
+ const snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]);
42
+ const hasFit = snapPointsProp[0] === "fit";
43
+ const snapPoints = import_react.default.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]);
44
+ const [position_, setPositionImmediate] = (0, import_use_controllable_state.useControllableState)({
45
+ prop: props.position,
46
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
47
+ onChange: props.onPositionChange,
48
+ strategy: "most-recent-wins"
49
+ });
50
+ const position = state.open === false ? -1 : position_;
51
+ const { open } = state;
52
+ const setPosition = import_react.default.useCallback((next) => {
53
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
54
+ state.setOpen(false);
55
+ } else {
56
+ setPositionImmediate(next);
57
+ }
58
+ }, [
59
+ props.dismissOnSnapToBottom,
60
+ snapPoints.length,
61
+ setPositionImmediate,
62
+ state.setOpen
63
+ ]);
64
+ if (process.env.NODE_ENV === "development") {
65
+ if (snapPointsMode === "mixed" && snapPoints.some((p) => {
66
+ if (typeof p === "string") {
67
+ if (p === "fit") {
68
+ return false;
69
+ }
70
+ if (p.endsWith("%")) {
71
+ const n = Number(p.slice(0, -1));
72
+ return n < 0 || n > 100;
73
+ }
74
+ return true;
75
+ }
76
+ return typeof p !== "number" || p < 0;
77
+ })) {
78
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or \"fit\" when snapPointsMode is mixed");
79
+ }
80
+ if (snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0) {
81
+ console.warn("⚠️ Invalid snapPoint given, \"fit\" must be the first/largest snap point when snapPointsMode is mixed");
82
+ }
83
+ if (snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit")) {
84
+ console.warn("⚠️ Invalid snapPoint given, there are no snap points when snapPointsMode is fit");
85
+ }
86
+ if (snapPointsMode === "constant" && snapPoints.some((p) => typeof p !== "number" || p < 0)) {
87
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant");
88
+ }
89
+ if (snapPointsMode === "percent" && snapPoints.some((p) => typeof p !== "number" || p < 0 || p > 100)) {
90
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent");
91
+ }
92
+ }
93
+ if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
94
+ setPositionImmediate(0);
95
+ }
96
+ const shouldSetPositionOpen = open && position < 0;
97
+ import_react.default.useEffect(() => {
98
+ if (shouldSetPositionOpen) {
99
+ setPosition(0);
100
+ }
101
+ }, [setPosition, shouldSetPositionOpen]);
102
+ const { animationDriver } = (0, import_core.useConfiguration)();
103
+ if (!animationDriver) {
104
+ throw new Error(process.env.NODE_ENV === "production" ? `\u274C 008` : "Must set animations in tamagui.config.ts");
105
+ }
106
+ const scrollBridge = (0, import_use_constant.useConstant)(() => {
107
+ const parentDragListeners = /* @__PURE__ */ new Set();
108
+ const bridge = {
109
+ hasScrollableContent: false,
110
+ enabled: false,
111
+ y: 0,
112
+ paneY: 0,
113
+ paneMinY: 0,
114
+ scrollStartY: -1,
115
+ drag: () => {},
116
+ release: () => {},
117
+ scrollLock: false,
118
+ isParentDragging: false,
119
+ onParentDragging: (cb) => {
120
+ parentDragListeners.add(cb);
121
+ return () => {
122
+ parentDragListeners.delete(cb);
123
+ };
124
+ },
125
+ setParentDragging: (val) => {
126
+ if (val !== bridge.isParentDragging) {
127
+ bridge.isParentDragging = val;
128
+ parentDragListeners.forEach((cb) => cb(val));
129
+ }
130
+ }
131
+ };
132
+ return bridge;
133
+ });
134
+ const disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal;
135
+ const maxSnapPoint = snapPoints[0];
136
+ const screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint === "number" ? maxSnapPoint : 100) / 100) : maxContentSize;
137
+ const providerProps = {
138
+ screenSize,
139
+ maxSnapPoint,
140
+ disableRemoveScroll,
141
+ scrollBridge,
142
+ modal: !!props.modal,
143
+ open: state.open,
144
+ setOpen: state.setOpen,
145
+ hidden: !!state.isHidden,
146
+ contentRef,
147
+ handleRef,
148
+ frameSize,
149
+ setFrameSize,
150
+ dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
151
+ dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
152
+ scope: props.scope ?? "",
153
+ hasFit,
154
+ position,
155
+ snapPoints,
156
+ snapPointsMode,
157
+ setMaxContentSize,
158
+ setPosition,
159
+ setPositionImmediate,
160
+ onlyShowContainer: false
161
+ };
162
+ return providerProps;
163
+ }
@@ -0,0 +1,176 @@
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 useSheetProviderProps_exports = {};
31
+ __export(useSheetProviderProps_exports, { useSheetProviderProps: () => useSheetProviderProps });
32
+ module.exports = __toCommonJS(useSheetProviderProps_exports);
33
+ var import_react = __toESM(require("react"), 1);
34
+ var import_core = require("@tamagui/core");
35
+ var import_use_constant = require("@tamagui/use-constant");
36
+ var import_use_controllable_state = require("@tamagui/use-controllable-state");
37
+ function useSheetProviderProps(props, state) {
38
+ var handleRef = import_react.default.useRef(null);
39
+ var contentRef = import_react.default.useRef(null);
40
+ var [frameSize, setFrameSize] = import_react.default.useState(0);
41
+ var [maxContentSize, setMaxContentSize] = import_react.default.useState(0);
42
+ var _props_snapPointsMode;
43
+ var snapPointsMode = (_props_snapPointsMode = props.snapPointsMode) !== null && _props_snapPointsMode !== void 0 ? _props_snapPointsMode : "percent";
44
+ var _props_snapPoints;
45
+ var snapPointsProp = (_props_snapPoints = props.snapPoints) !== null && _props_snapPoints !== void 0 ? _props_snapPoints : snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"];
46
+ var hasFit = snapPointsProp[0] === "fit";
47
+ var snapPoints = import_react.default.useMemo(function() {
48
+ return props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp;
49
+ }, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]);
50
+ var [position_, setPositionImmediate] = (0, import_use_controllable_state.useControllableState)({
51
+ prop: props.position,
52
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
53
+ onChange: props.onPositionChange,
54
+ strategy: "most-recent-wins"
55
+ });
56
+ var position = state.open === false ? -1 : position_;
57
+ var { open } = state;
58
+ var setPosition = import_react.default.useCallback(function(next) {
59
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
60
+ state.setOpen(false);
61
+ } else {
62
+ setPositionImmediate(next);
63
+ }
64
+ }, [
65
+ props.dismissOnSnapToBottom,
66
+ snapPoints.length,
67
+ setPositionImmediate,
68
+ state.setOpen
69
+ ]);
70
+ if (process.env.NODE_ENV === "development") {
71
+ if (snapPointsMode === "mixed" && snapPoints.some(function(p) {
72
+ if (typeof p === "string") {
73
+ if (p === "fit") {
74
+ return false;
75
+ }
76
+ if (p.endsWith("%")) {
77
+ var n = Number(p.slice(0, -1));
78
+ return n < 0 || n > 100;
79
+ }
80
+ return true;
81
+ }
82
+ return typeof p !== "number" || p < 0;
83
+ })) {
84
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or \"fit\" when snapPointsMode is mixed");
85
+ }
86
+ if (snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0) {
87
+ console.warn("⚠️ Invalid snapPoint given, \"fit\" must be the first/largest snap point when snapPointsMode is mixed");
88
+ }
89
+ if (snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit")) {
90
+ console.warn("⚠️ Invalid snapPoint given, there are no snap points when snapPointsMode is fit");
91
+ }
92
+ if (snapPointsMode === "constant" && snapPoints.some(function(p) {
93
+ return typeof p !== "number" || p < 0;
94
+ })) {
95
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant");
96
+ }
97
+ if (snapPointsMode === "percent" && snapPoints.some(function(p) {
98
+ return typeof p !== "number" || p < 0 || p > 100;
99
+ })) {
100
+ console.warn("⚠️ Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent");
101
+ }
102
+ }
103
+ if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
104
+ setPositionImmediate(0);
105
+ }
106
+ var shouldSetPositionOpen = open && position < 0;
107
+ import_react.default.useEffect(function() {
108
+ if (shouldSetPositionOpen) {
109
+ setPosition(0);
110
+ }
111
+ }, [setPosition, shouldSetPositionOpen]);
112
+ var { animationDriver } = (0, import_core.useConfiguration)();
113
+ if (!animationDriver) {
114
+ throw new Error(process.env.NODE_ENV === "production" ? `\u274C 008` : "Must set animations in tamagui.config.ts");
115
+ }
116
+ var scrollBridge = (0, import_use_constant.useConstant)(function() {
117
+ var parentDragListeners = /* @__PURE__ */ new Set();
118
+ var bridge = {
119
+ hasScrollableContent: false,
120
+ enabled: false,
121
+ y: 0,
122
+ paneY: 0,
123
+ paneMinY: 0,
124
+ scrollStartY: -1,
125
+ drag: function() {},
126
+ release: function() {},
127
+ scrollLock: false,
128
+ isParentDragging: false,
129
+ onParentDragging: function(cb) {
130
+ parentDragListeners.add(cb);
131
+ return function() {
132
+ parentDragListeners.delete(cb);
133
+ };
134
+ },
135
+ setParentDragging: function(val) {
136
+ if (val !== bridge.isParentDragging) {
137
+ bridge.isParentDragging = val;
138
+ parentDragListeners.forEach(function(cb) {
139
+ return cb(val);
140
+ });
141
+ }
142
+ }
143
+ };
144
+ return bridge;
145
+ });
146
+ var disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal;
147
+ var maxSnapPoint = snapPoints[0];
148
+ var screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint === "number" ? maxSnapPoint : 100) / 100) : maxContentSize;
149
+ var _props_dismissOnOverlayPress, _props_dismissOnSnapToBottom, _props_scope;
150
+ var providerProps = {
151
+ screenSize,
152
+ maxSnapPoint,
153
+ disableRemoveScroll,
154
+ scrollBridge,
155
+ modal: !!props.modal,
156
+ open: state.open,
157
+ setOpen: state.setOpen,
158
+ hidden: !!state.isHidden,
159
+ contentRef,
160
+ handleRef,
161
+ frameSize,
162
+ setFrameSize,
163
+ dismissOnOverlayPress: (_props_dismissOnOverlayPress = props.dismissOnOverlayPress) !== null && _props_dismissOnOverlayPress !== void 0 ? _props_dismissOnOverlayPress : true,
164
+ dismissOnSnapToBottom: (_props_dismissOnSnapToBottom = props.dismissOnSnapToBottom) !== null && _props_dismissOnSnapToBottom !== void 0 ? _props_dismissOnSnapToBottom : false,
165
+ scope: (_props_scope = props.scope) !== null && _props_scope !== void 0 ? _props_scope : "",
166
+ hasFit,
167
+ position,
168
+ snapPoints,
169
+ snapPointsMode,
170
+ setMaxContentSize,
171
+ setPosition,
172
+ setPositionImmediate,
173
+ onlyShowContainer: false
174
+ };
175
+ return providerProps;
176
+ }