@tamagui/sheet 2.7.7 → 3.0.0-beta.1093.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 (477) hide show
  1. package/dist/cjs/GestureSheetContext.cjs +28 -37
  2. package/dist/cjs/GestureSheetContext.native.cjs +48 -0
  3. package/dist/cjs/GestureSheetContext.native.js +29 -37
  4. package/dist/cjs/GestureSheetContext.native.js.map +1 -1
  5. package/dist/cjs/Sheet.cjs +220 -99
  6. package/dist/cjs/Sheet.native.cjs +245 -0
  7. package/dist/cjs/Sheet.native.js +223 -98
  8. package/dist/cjs/Sheet.native.js.map +1 -1
  9. package/dist/cjs/SheetContext.cjs +43 -22
  10. package/dist/cjs/SheetContext.native.cjs +57 -0
  11. package/dist/cjs/SheetContext.native.js +44 -22
  12. package/dist/cjs/SheetContext.native.js.map +1 -1
  13. package/dist/cjs/SheetController.cjs +49 -56
  14. package/dist/cjs/SheetController.native.cjs +71 -0
  15. package/dist/cjs/SheetController.native.js +52 -58
  16. package/dist/cjs/SheetController.native.js.map +1 -1
  17. package/dist/cjs/SheetDragSurface.cjs +50 -0
  18. package/dist/cjs/SheetDragSurface.native.cjs +61 -0
  19. package/dist/cjs/SheetDragSurface.native.js +63 -0
  20. package/dist/cjs/SheetDragSurface.native.js.map +1 -0
  21. package/dist/cjs/SheetImplementationCustom.cjs +664 -610
  22. package/dist/cjs/SheetImplementationCustom.native.cjs +748 -0
  23. package/dist/cjs/SheetImplementationCustom.native.js +704 -649
  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 +21 -21
  30. package/dist/cjs/constants.native.cjs +36 -0
  31. package/dist/cjs/constants.native.js +21 -20
  32. package/dist/cjs/constants.native.js.map +1 -1
  33. package/dist/cjs/contexts.cjs +19 -28
  34. package/dist/cjs/contexts.native.cjs +37 -0
  35. package/dist/cjs/contexts.native.js +19 -27
  36. package/dist/cjs/contexts.native.js.map +1 -1
  37. package/dist/cjs/controller.cjs +16 -18
  38. package/dist/cjs/controller.native.cjs +31 -0
  39. package/dist/cjs/controller.native.js +16 -17
  40. package/dist/cjs/controller.native.js.map +1 -1
  41. package/dist/cjs/gestureState.cjs +28 -30
  42. package/dist/cjs/gestureState.native.cjs +53 -0
  43. package/dist/cjs/gestureState.native.js +29 -30
  44. package/dist/cjs/gestureState.native.js.map +1 -1
  45. package/dist/cjs/helpers.cjs +20 -24
  46. package/dist/cjs/helpers.native.cjs +34 -0
  47. package/dist/cjs/helpers.native.js +21 -24
  48. package/dist/cjs/helpers.native.js.map +1 -1
  49. package/dist/cjs/index.cjs +14 -21
  50. package/dist/cjs/index.native.cjs +36 -0
  51. package/dist/cjs/index.native.js +15 -21
  52. package/dist/cjs/index.native.js.map +1 -1
  53. package/dist/cjs/keyboardAvoidance.cjs +55 -79
  54. package/dist/cjs/keyboardAvoidance.native.cjs +74 -0
  55. package/dist/cjs/keyboardAvoidance.native.js +55 -78
  56. package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
  57. package/dist/cjs/nativeSheet.cjs +17 -86
  58. package/dist/cjs/nativeSheet.native.cjs +94 -0
  59. package/dist/cjs/nativeSheet.native.js +73 -86
  60. package/dist/cjs/nativeSheet.native.js.map +1 -1
  61. package/dist/cjs/stableViewportHeight.cjs +27 -0
  62. package/dist/cjs/stableViewportHeight.native.cjs +29 -0
  63. package/dist/cjs/stableViewportHeight.native.js +31 -0
  64. package/dist/cjs/stableViewportHeight.native.js.map +1 -0
  65. package/dist/cjs/types.cjs +9 -11
  66. package/dist/cjs/types.native.cjs +18 -0
  67. package/dist/cjs/types.native.js +9 -10
  68. package/dist/cjs/types.native.js.map +1 -1
  69. package/dist/cjs/useGestureHandlerPan.cjs +244 -257
  70. package/dist/cjs/useGestureHandlerPan.native.cjs +272 -0
  71. package/dist/cjs/useGestureHandlerPan.native.js +253 -265
  72. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  73. package/dist/cjs/useKeyboardControllerSheet.cjs +82 -88
  74. package/dist/cjs/useKeyboardControllerSheet.native.cjs +92 -0
  75. package/dist/cjs/useKeyboardControllerSheet.native.js +73 -111
  76. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  77. package/dist/cjs/useSafeAreaInsets.cjs +19 -26
  78. package/dist/cjs/useSafeAreaInsets.native.cjs +50 -0
  79. package/dist/cjs/useSafeAreaInsets.native.js +29 -25
  80. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -1
  81. package/dist/cjs/useSheetController.cjs +26 -39
  82. package/dist/cjs/useSheetController.native.cjs +41 -0
  83. package/dist/cjs/useSheetController.native.js +27 -39
  84. package/dist/cjs/useSheetController.native.js.map +1 -1
  85. package/dist/cjs/useSheetOffscreenSize.cjs +43 -53
  86. package/dist/cjs/useSheetOffscreenSize.native.cjs +59 -0
  87. package/dist/cjs/useSheetOffscreenSize.native.js +47 -56
  88. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  89. package/dist/cjs/useSheetOpenState.cjs +68 -40
  90. package/dist/cjs/useSheetOpenState.native.cjs +87 -0
  91. package/dist/cjs/useSheetOpenState.native.js +73 -42
  92. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  93. package/dist/cjs/useSheetProviderProps.cjs +145 -164
  94. package/dist/cjs/useSheetProviderProps.native.cjs +175 -0
  95. package/dist/cjs/useSheetProviderProps.native.js +155 -174
  96. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  97. package/dist/cjs/useSheetScrollViewGestures.cjs +171 -180
  98. package/dist/cjs/useSheetScrollViewGestures.native.cjs +149 -0
  99. package/dist/cjs/useSheetScrollViewGestures.native.js +135 -147
  100. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  101. package/dist/cjs/webViewport.cjs +46 -48
  102. package/dist/cjs/webViewport.native.cjs +78 -0
  103. package/dist/cjs/webViewport.native.js +49 -50
  104. package/dist/cjs/webViewport.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 +207 -83
  110. package/dist/esm/Sheet.mjs.map +1 -1
  111. package/dist/esm/Sheet.native.js +210 -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/SheetDragSurface.mjs +25 -0
  122. package/dist/esm/SheetDragSurface.mjs.map +1 -0
  123. package/dist/esm/SheetDragSurface.native.js +34 -0
  124. package/dist/esm/SheetDragSurface.native.js.map +1 -0
  125. package/dist/esm/SheetImplementationCustom.mjs +647 -586
  126. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  127. package/dist/esm/SheetImplementationCustom.native.js +684 -618
  128. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  129. package/dist/esm/SheetScrollView.mjs +278 -288
  130. package/dist/esm/SheetScrollView.mjs.map +1 -1
  131. package/dist/esm/SheetScrollView.native.js +287 -297
  132. package/dist/esm/SheetScrollView.native.js.map +1 -1
  133. package/dist/esm/constants.mjs +5 -3
  134. package/dist/esm/constants.mjs.map +1 -1
  135. package/dist/esm/constants.native.js +5 -3
  136. package/dist/esm/constants.native.js.map +1 -1
  137. package/dist/esm/contexts.mjs +3 -3
  138. package/dist/esm/contexts.mjs.map +1 -1
  139. package/dist/esm/contexts.native.js +3 -3
  140. package/dist/esm/contexts.native.js.map +1 -1
  141. package/dist/esm/controller.mjs +2 -2
  142. package/dist/esm/controller.native.js +2 -2
  143. package/dist/esm/gestureState.mjs +13 -11
  144. package/dist/esm/gestureState.mjs.map +1 -1
  145. package/dist/esm/gestureState.native.js +14 -12
  146. package/dist/esm/gestureState.native.js.map +1 -1
  147. package/dist/esm/helpers.mjs +7 -6
  148. package/dist/esm/helpers.mjs.map +1 -1
  149. package/dist/esm/helpers.native.js +8 -7
  150. package/dist/esm/helpers.native.js.map +1 -1
  151. package/dist/esm/index.js +21 -14
  152. package/dist/esm/index.mjs +21 -14
  153. package/dist/esm/index.native.js +21 -14
  154. package/dist/esm/keyboardAvoidance.mjs +40 -61
  155. package/dist/esm/keyboardAvoidance.mjs.map +1 -1
  156. package/dist/esm/keyboardAvoidance.native.js +40 -61
  157. package/dist/esm/keyboardAvoidance.native.js.map +1 -1
  158. package/dist/esm/nativeSheet.mjs +4 -70
  159. package/dist/esm/nativeSheet.mjs.map +1 -1
  160. package/dist/esm/nativeSheet.native.js +60 -70
  161. package/dist/esm/nativeSheet.native.js.map +1 -1
  162. package/dist/esm/stableViewportHeight.mjs +8 -0
  163. package/dist/esm/stableViewportHeight.mjs.map +1 -0
  164. package/dist/esm/stableViewportHeight.native.js +8 -0
  165. package/dist/esm/stableViewportHeight.native.js.map +1 -0
  166. package/dist/esm/types.mjs +0 -2
  167. package/dist/esm/types.native.js +0 -2
  168. package/dist/esm/useGestureHandlerPan.mjs +232 -239
  169. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  170. package/dist/esm/useGestureHandlerPan.native.js +241 -248
  171. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  172. package/dist/esm/useKeyboardControllerSheet.mjs +71 -71
  173. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  174. package/dist/esm/useKeyboardControllerSheet.native.js +66 -94
  175. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  176. package/dist/esm/useSafeAreaInsets.mjs +3 -1
  177. package/dist/esm/useSafeAreaInsets.mjs.map +1 -1
  178. package/dist/esm/useSafeAreaInsets.native.js +15 -3
  179. package/dist/esm/useSafeAreaInsets.native.js.map +1 -1
  180. package/dist/esm/useSheetController.mjs +14 -12
  181. package/dist/esm/useSheetController.mjs.map +1 -1
  182. package/dist/esm/useSheetController.native.js +14 -12
  183. package/dist/esm/useSheetController.native.js.map +1 -1
  184. package/dist/esm/useSheetOffscreenSize.mjs +30 -35
  185. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  186. package/dist/esm/useSheetOffscreenSize.native.js +34 -39
  187. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  188. package/dist/esm/useSheetOpenState.mjs +50 -22
  189. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  190. package/dist/esm/useSheetOpenState.native.js +55 -25
  191. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  192. package/dist/esm/useSheetProviderProps.mjs +130 -138
  193. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  194. package/dist/esm/useSheetProviderProps.native.js +140 -149
  195. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  196. package/dist/esm/useSheetScrollViewGestures.mjs +159 -162
  197. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  198. package/dist/esm/useSheetScrollViewGestures.native.js +123 -130
  199. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  200. package/dist/esm/webViewport.mjs +26 -25
  201. package/dist/esm/webViewport.mjs.map +1 -1
  202. package/dist/esm/webViewport.native.js +29 -28
  203. package/dist/esm/webViewport.native.js.map +1 -1
  204. package/dist/jsx/GestureSheetContext.mjs +15 -20
  205. package/dist/jsx/GestureSheetContext.mjs.map +1 -1
  206. package/dist/jsx/GestureSheetContext.native.cjs +48 -0
  207. package/dist/jsx/GestureSheetContext.native.js +29 -37
  208. package/dist/jsx/GestureSheetContext.native.js.map +1 -1
  209. package/dist/jsx/Sheet.mjs +207 -83
  210. package/dist/jsx/Sheet.mjs.map +1 -1
  211. package/dist/jsx/Sheet.native.cjs +245 -0
  212. package/dist/jsx/Sheet.native.js +223 -98
  213. package/dist/jsx/Sheet.native.js.map +1 -1
  214. package/dist/jsx/SheetContext.mjs +21 -5
  215. package/dist/jsx/SheetContext.mjs.map +1 -1
  216. package/dist/jsx/SheetContext.native.cjs +57 -0
  217. package/dist/jsx/SheetContext.native.js +44 -22
  218. package/dist/jsx/SheetContext.native.js.map +1 -1
  219. package/dist/jsx/SheetController.mjs +34 -30
  220. package/dist/jsx/SheetController.mjs.map +1 -1
  221. package/dist/jsx/SheetController.native.cjs +71 -0
  222. package/dist/jsx/SheetController.native.js +52 -58
  223. package/dist/jsx/SheetController.native.js.map +1 -1
  224. package/dist/jsx/SheetDragSurface.mjs +25 -0
  225. package/dist/jsx/SheetDragSurface.mjs.map +1 -0
  226. package/dist/jsx/SheetDragSurface.native.cjs +61 -0
  227. package/dist/jsx/SheetDragSurface.native.js +63 -0
  228. package/dist/jsx/SheetDragSurface.native.js.map +1 -0
  229. package/dist/jsx/SheetImplementationCustom.mjs +647 -586
  230. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  231. package/dist/jsx/SheetImplementationCustom.native.cjs +748 -0
  232. package/dist/jsx/SheetImplementationCustom.native.js +704 -649
  233. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  234. package/dist/jsx/SheetScrollView.mjs +278 -288
  235. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  236. package/dist/jsx/SheetScrollView.native.cjs +326 -0
  237. package/dist/jsx/SheetScrollView.native.js +299 -319
  238. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  239. package/dist/jsx/constants.mjs +5 -3
  240. package/dist/jsx/constants.mjs.map +1 -1
  241. package/dist/jsx/constants.native.cjs +36 -0
  242. package/dist/jsx/constants.native.js +21 -20
  243. package/dist/jsx/constants.native.js.map +1 -1
  244. package/dist/jsx/contexts.mjs +3 -3
  245. package/dist/jsx/contexts.mjs.map +1 -1
  246. package/dist/jsx/contexts.native.cjs +37 -0
  247. package/dist/jsx/contexts.native.js +19 -27
  248. package/dist/jsx/contexts.native.js.map +1 -1
  249. package/dist/jsx/controller.mjs +2 -2
  250. package/dist/jsx/controller.native.cjs +31 -0
  251. package/dist/jsx/controller.native.js +16 -17
  252. package/dist/jsx/controller.native.js.map +1 -1
  253. package/dist/jsx/gestureState.mjs +13 -11
  254. package/dist/jsx/gestureState.mjs.map +1 -1
  255. package/dist/jsx/gestureState.native.cjs +53 -0
  256. package/dist/jsx/gestureState.native.js +29 -30
  257. package/dist/jsx/gestureState.native.js.map +1 -1
  258. package/dist/jsx/helpers.mjs +7 -6
  259. package/dist/jsx/helpers.mjs.map +1 -1
  260. package/dist/jsx/helpers.native.cjs +34 -0
  261. package/dist/jsx/helpers.native.js +21 -24
  262. package/dist/jsx/helpers.native.js.map +1 -1
  263. package/dist/jsx/index.js +21 -14
  264. package/dist/jsx/index.mjs +21 -14
  265. package/dist/jsx/index.native.cjs +36 -0
  266. package/dist/jsx/index.native.js +15 -21
  267. package/dist/jsx/index.native.js.map +1 -1
  268. package/dist/jsx/keyboardAvoidance.mjs +40 -61
  269. package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
  270. package/dist/jsx/keyboardAvoidance.native.cjs +74 -0
  271. package/dist/jsx/keyboardAvoidance.native.js +55 -78
  272. package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
  273. package/dist/jsx/nativeSheet.mjs +4 -70
  274. package/dist/jsx/nativeSheet.mjs.map +1 -1
  275. package/dist/jsx/nativeSheet.native.cjs +94 -0
  276. package/dist/jsx/nativeSheet.native.js +73 -86
  277. package/dist/jsx/nativeSheet.native.js.map +1 -1
  278. package/dist/jsx/stableViewportHeight.mjs +8 -0
  279. package/dist/jsx/stableViewportHeight.mjs.map +1 -0
  280. package/dist/jsx/stableViewportHeight.native.cjs +29 -0
  281. package/dist/jsx/stableViewportHeight.native.js +31 -0
  282. package/dist/jsx/stableViewportHeight.native.js.map +1 -0
  283. package/dist/jsx/types.mjs +0 -2
  284. package/dist/jsx/types.native.cjs +18 -0
  285. package/dist/jsx/types.native.js +9 -10
  286. package/dist/jsx/types.native.js.map +1 -1
  287. package/dist/jsx/useGestureHandlerPan.mjs +232 -239
  288. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  289. package/dist/jsx/useGestureHandlerPan.native.cjs +272 -0
  290. package/dist/jsx/useGestureHandlerPan.native.js +253 -265
  291. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  292. package/dist/jsx/useKeyboardControllerSheet.mjs +71 -71
  293. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  294. package/dist/jsx/useKeyboardControllerSheet.native.cjs +92 -0
  295. package/dist/jsx/useKeyboardControllerSheet.native.js +73 -111
  296. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  297. package/dist/jsx/useSafeAreaInsets.mjs +3 -1
  298. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -1
  299. package/dist/jsx/useSafeAreaInsets.native.cjs +50 -0
  300. package/dist/jsx/useSafeAreaInsets.native.js +29 -25
  301. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -1
  302. package/dist/jsx/useSheetController.mjs +14 -12
  303. package/dist/jsx/useSheetController.mjs.map +1 -1
  304. package/dist/jsx/useSheetController.native.cjs +41 -0
  305. package/dist/jsx/useSheetController.native.js +27 -39
  306. package/dist/jsx/useSheetController.native.js.map +1 -1
  307. package/dist/jsx/useSheetOffscreenSize.mjs +30 -35
  308. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  309. package/dist/jsx/useSheetOffscreenSize.native.cjs +59 -0
  310. package/dist/jsx/useSheetOffscreenSize.native.js +47 -56
  311. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  312. package/dist/jsx/useSheetOpenState.mjs +50 -22
  313. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  314. package/dist/jsx/useSheetOpenState.native.cjs +87 -0
  315. package/dist/jsx/useSheetOpenState.native.js +73 -42
  316. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  317. package/dist/jsx/useSheetProviderProps.mjs +130 -138
  318. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  319. package/dist/jsx/useSheetProviderProps.native.cjs +175 -0
  320. package/dist/jsx/useSheetProviderProps.native.js +155 -174
  321. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  322. package/dist/jsx/useSheetScrollViewGestures.mjs +159 -162
  323. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  324. package/dist/jsx/useSheetScrollViewGestures.native.cjs +149 -0
  325. package/dist/jsx/useSheetScrollViewGestures.native.js +135 -147
  326. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  327. package/dist/jsx/webViewport.mjs +26 -25
  328. package/dist/jsx/webViewport.mjs.map +1 -1
  329. package/dist/jsx/webViewport.native.cjs +78 -0
  330. package/dist/jsx/webViewport.native.js +49 -50
  331. package/dist/jsx/webViewport.native.js.map +1 -1
  332. package/package.json +38 -40
  333. package/src/Sheet.tsx +314 -77
  334. package/src/SheetContext.tsx +57 -7
  335. package/src/SheetController.tsx +7 -6
  336. package/src/SheetDragSurface.native.tsx +42 -0
  337. package/src/SheetDragSurface.tsx +40 -0
  338. package/src/SheetImplementationCustom.tsx +364 -181
  339. package/src/SheetScrollView.tsx +36 -20
  340. package/src/constants.tsx +3 -3
  341. package/src/helpers.tsx +0 -14
  342. package/src/index.ts +3 -6
  343. package/src/{nativeSheet.tsx → nativeSheet.native.tsx} +9 -20
  344. package/src/nativeSheet.ts +19 -0
  345. package/src/stableViewportHeight.native.ts +9 -0
  346. package/src/stableViewportHeight.ts +15 -0
  347. package/src/types.tsx +122 -92
  348. package/src/useKeyboardControllerSheet.native.ts +10 -39
  349. package/src/useSafeAreaInsets.native.ts +20 -13
  350. package/src/useSheetController.tsx +15 -7
  351. package/src/useSheetOpenState.tsx +50 -4
  352. package/src/useSheetProviderProps.tsx +4 -27
  353. package/src/useSheetScrollViewGestures.ts +2 -2
  354. package/types/GestureSheetContext.d.ts +1 -1
  355. package/types/GestureSheetContext.d.ts.map +1 -1
  356. package/types/Sheet.d.ts +247 -151
  357. package/types/Sheet.d.ts.map +1 -1
  358. package/types/SheetContext.d.ts +28 -42
  359. package/types/SheetContext.d.ts.map +1 -1
  360. package/types/SheetController.d.ts +4 -2
  361. package/types/SheetController.d.ts.map +1 -1
  362. package/types/SheetDragSurface.d.ts +11 -0
  363. package/types/SheetDragSurface.d.ts.map +1 -0
  364. package/types/SheetDragSurface.native.d.ts +11 -0
  365. package/types/SheetDragSurface.native.d.ts.map +1 -0
  366. package/types/SheetImplementationCustom.d.ts +4 -36
  367. package/types/SheetImplementationCustom.d.ts.map +1 -1
  368. package/types/SheetScrollView.d.ts +21 -38
  369. package/types/SheetScrollView.d.ts.map +1 -1
  370. package/types/constants.d.ts +3 -2
  371. package/types/constants.d.ts.map +1 -1
  372. package/types/index.d.ts +1 -3
  373. package/types/index.d.ts.map +1 -1
  374. package/types/nativeSheet.d.ts +8 -8
  375. package/types/nativeSheet.d.ts.map +1 -1
  376. package/types/nativeSheet.native.d.ts +5 -0
  377. package/types/nativeSheet.native.d.ts.map +1 -0
  378. package/types/stableViewportHeight.d.ts +12 -0
  379. package/types/stableViewportHeight.d.ts.map +1 -0
  380. package/types/stableViewportHeight.native.d.ts +6 -0
  381. package/types/stableViewportHeight.native.d.ts.map +1 -0
  382. package/types/types.d.ts +43 -17
  383. package/types/types.d.ts.map +1 -1
  384. package/types/useKeyboardControllerSheet.native.d.ts +6 -6
  385. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  386. package/types/useSafeAreaInsets.native.d.ts +4 -12
  387. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  388. package/types/useSheetController.d.ts +6 -6
  389. package/types/useSheetController.d.ts.map +1 -1
  390. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  391. package/types/useSheetOpenState.d.ts +3 -2
  392. package/types/useSheetOpenState.d.ts.map +1 -1
  393. package/types/useSheetProviderProps.d.ts +5 -8
  394. package/types/useSheetProviderProps.d.ts.map +1 -1
  395. package/types/useSheetScrollViewGestures.d.ts +2 -2
  396. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  397. package/.turbo/turbo-build.log +0 -2
  398. package/controller/index.cjs +0 -2
  399. package/controller/index.d.ts +0 -5
  400. package/controller/index.js +0 -2
  401. package/controller/index.native.cjs +0 -2
  402. package/controller/index.native.js +0 -2
  403. package/dist/cjs/GestureDetectorWrapper.cjs +0 -54
  404. package/dist/cjs/GestureDetectorWrapper.native.js +0 -58
  405. package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
  406. package/dist/cjs/createSheet.cjs +0 -194
  407. package/dist/cjs/createSheet.native.js +0 -204
  408. package/dist/cjs/createSheet.native.js.map +0 -1
  409. package/dist/cjs/setupGestureHandler.cjs +0 -55
  410. package/dist/cjs/setupGestureHandler.native.js +0 -60
  411. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  412. package/dist/cjs/useSheet.cjs +0 -29
  413. package/dist/cjs/useSheet.native.js +0 -34
  414. package/dist/cjs/useSheet.native.js.map +0 -1
  415. package/dist/esm/GestureDetectorWrapper.mjs +0 -29
  416. package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
  417. package/dist/esm/GestureDetectorWrapper.native.js +0 -30
  418. package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
  419. package/dist/esm/controller.mjs.map +0 -1
  420. package/dist/esm/controller.native.js.map +0 -1
  421. package/dist/esm/createSheet.mjs +0 -168
  422. package/dist/esm/createSheet.mjs.map +0 -1
  423. package/dist/esm/createSheet.native.js +0 -176
  424. package/dist/esm/createSheet.native.js.map +0 -1
  425. package/dist/esm/index.js.map +0 -1
  426. package/dist/esm/index.mjs.map +0 -1
  427. package/dist/esm/index.native.js.map +0 -1
  428. package/dist/esm/setupGestureHandler.mjs +0 -29
  429. package/dist/esm/setupGestureHandler.mjs.map +0 -1
  430. package/dist/esm/setupGestureHandler.native.js +0 -31
  431. package/dist/esm/setupGestureHandler.native.js.map +0 -1
  432. package/dist/esm/types.mjs.map +0 -1
  433. package/dist/esm/types.native.js.map +0 -1
  434. package/dist/esm/useSheet.mjs +0 -4
  435. package/dist/esm/useSheet.mjs.map +0 -1
  436. package/dist/esm/useSheet.native.js +0 -6
  437. package/dist/esm/useSheet.native.js.map +0 -1
  438. package/dist/jsx/GestureDetectorWrapper.mjs +0 -29
  439. package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
  440. package/dist/jsx/GestureDetectorWrapper.native.js +0 -58
  441. package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
  442. package/dist/jsx/controller.mjs.map +0 -1
  443. package/dist/jsx/createSheet.mjs +0 -168
  444. package/dist/jsx/createSheet.mjs.map +0 -1
  445. package/dist/jsx/createSheet.native.js +0 -204
  446. package/dist/jsx/createSheet.native.js.map +0 -1
  447. package/dist/jsx/index.js.map +0 -1
  448. package/dist/jsx/index.mjs.map +0 -1
  449. package/dist/jsx/setupGestureHandler.mjs +0 -29
  450. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  451. package/dist/jsx/setupGestureHandler.native.js +0 -60
  452. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  453. package/dist/jsx/types.mjs.map +0 -1
  454. package/dist/jsx/useSheet.mjs +0 -4
  455. package/dist/jsx/useSheet.mjs.map +0 -1
  456. package/dist/jsx/useSheet.native.js +0 -34
  457. package/dist/jsx/useSheet.native.js.map +0 -1
  458. package/next.md +0 -78
  459. package/setup-gesture-handler/index.cjs +0 -2
  460. package/setup-gesture-handler/index.js +0 -2
  461. package/setup-gesture-handler/index.native.cjs +0 -2
  462. package/setup-gesture-handler/index.native.js +0 -2
  463. package/setup-gesture-handler.cjs +0 -1
  464. package/src/GestureDetectorWrapper.tsx +0 -38
  465. package/src/createSheet.tsx +0 -309
  466. package/src/setupGestureHandler.ts +0 -43
  467. package/src/useSheet.tsx +0 -3
  468. package/test/keyboardAvoidance.test.ts +0 -269
  469. package/tsconfig.json +0 -57
  470. package/types/GestureDetectorWrapper.d.ts +0 -14
  471. package/types/GestureDetectorWrapper.d.ts.map +0 -1
  472. package/types/createSheet.d.ts +0 -195
  473. package/types/createSheet.d.ts.map +0 -1
  474. package/types/setupGestureHandler.d.ts +0 -11
  475. package/types/setupGestureHandler.d.ts.map +0 -1
  476. package/types/useSheet.d.ts +0 -2
  477. package/types/useSheet.d.ts.map +0 -1
@@ -1,89 +1,216 @@
1
- import { styled } from "@tamagui/core";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { AdaptCapabilities, useAdaptContext, useAdaptIsActive } from "@tamagui/adapt";
3
+ import { useComposedRefs } from "@tamagui/compose-refs";
4
+ import { isWeb } from "@tamagui/constants";
5
+ import { View, createRefComponent, createStyledHOC, styled } from "@tamagui/core";
6
+ import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
7
+ import { resolveViewZIndex } from "@tamagui/portal";
8
+ import { RemoveScroll } from "@tamagui/remove-scroll";
2
9
  import { XStack, YStack } from "@tamagui/stacks";
3
- import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.native.js";
4
- import { createSheet } from "./createSheet.native.js";
5
- import { createSheetScope } from "./SheetContext.native.js";
6
- export * from "./types.native.js";
7
- var Handle = styled(XStack, {
8
- name: SHEET_HANDLE_NAME,
9
- variants: {
10
- open: {
11
- true: {
12
- opacity: 1,
13
- pointerEvents: "auto"
14
- },
15
- false: {
16
- opacity: 0,
17
- pointerEvents: "none"
18
- }
19
- },
20
- unstyled: {
21
- false: {
22
- height: 10,
23
- borderRadius: 100,
24
- backgroundColor: "$background",
25
- zIndex: 10,
26
- marginHorizontal: "35%",
27
- marginBottom: "$2",
28
- opacity: 0.5,
29
- hoverStyle: {
30
- opacity: 0.7
31
- }
32
- }
33
- }
34
- },
35
- defaultVariants: {
36
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
37
- }
10
+ import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
11
+ import { StackZIndexContext } from "@tamagui/z-index-stack";
12
+ import { useContext, useEffect, useMemo, useRef } from "react";
13
+ import { SHEET_BACKGROUND_NAME, SHEET_CONTAINER_NAME, SHEET_HANDLE_NAME, SHEET_OVERLAY_MARKER, SHEET_OVERLAY_NAME } from "./constants.native.js";
14
+ import { getNativeSheet } from "./nativeSheet.native.js";
15
+ import { SheetOverlayLayerContext, useAnimatedPosition, useSheetContext } from "./SheetContext.native.js";
16
+ import { SheetImplementationCustom } from "./SheetImplementationCustom.native.js";
17
+ import { SheetScrollView } from "./SheetScrollView.native.js";
18
+ import { useSheetController } from "./useSheetController.native.js";
19
+ import { useSheetOffscreenSize } from "./useSheetOffscreenSize.native.js";
20
+ import { getMaxViewportHeight } from "./webViewport.native.js";
21
+
22
+ export * from "./types.native.js"
23
+
24
+ var SheetHandleFrame = styled(XStack, {
25
+ displayName: SHEET_HANDLE_NAME,
26
+ variants: { open: {
27
+ true: { pointerEvents: "auto" },
28
+ false: { pointerEvents: "none" }
29
+ } }
38
30
  });
39
- var Overlay = styled(YStack, {
40
- name: SHEET_OVERLAY_NAME,
41
- variants: {
42
- open: {
43
- true: {
44
- pointerEvents: "auto"
45
- },
46
- false: {
47
- pointerEvents: "none"
48
- }
49
- },
50
- unstyled: {
51
- false: {
52
- fullscreen: true,
53
- position: "absolute",
54
- backgroundColor: "$background",
55
- zIndex: 1e5 - 1,
56
- pointerEvents: "auto"
57
- }
58
- }
59
- },
60
- defaultVariants: {
61
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
62
- }
31
+ var SheetOverlayFrame = styled(YStack, {
32
+ displayName: SHEET_OVERLAY_NAME,
33
+ inset: 0,
34
+ position: "absolute",
35
+ zIndex: 1e5 - 1,
36
+ pointerEvents: "auto",
37
+ variants: { open: {
38
+ true: { pointerEvents: "auto" },
39
+ false: { pointerEvents: "none" }
40
+ } }
63
41
  });
64
- var Frame = styled(YStack, {
65
- name: SHEET_NAME,
66
- variants: {
67
- unstyled: {
68
- false: {
69
- flex: 1,
70
- backgroundColor: "$background",
71
- borderTopLeftRadius: "$true",
72
- borderTopRightRadius: "$true",
73
- width: "100%",
74
- maxHeight: "100%",
75
- overflow: "hidden"
76
- }
77
- }
78
- },
79
- defaultVariants: {
80
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
81
- }
42
+ Object.assign(SheetOverlayFrame.staticConfig, { [SHEET_OVERLAY_MARKER]: true });
43
+ var SheetContainerFrame = styled(YStack, {
44
+ displayName: SHEET_CONTAINER_NAME,
45
+ flex: 1,
46
+ position: "relative",
47
+ zIndex: 0,
48
+ width: "100%",
49
+ maxHeight: "100%"
82
50
  });
83
- var Sheet = createSheet({
84
- Frame,
85
- Handle,
86
- Overlay
51
+ var SheetBackgroundFrame = styled(YStack, {
52
+ displayName: SHEET_BACKGROUND_NAME,
53
+ position: "absolute",
54
+ top: 0,
55
+ left: 0,
56
+ right: 0,
57
+ zIndex: -1,
58
+ pointerEvents: "none"
87
59
  });
88
- export { Frame, Handle, Overlay, Sheet, createSheetScope };
60
+ var SheetHandle = createStyledHOC(SheetHandleFrame, function(param, forwardedRef) {
61
+ var { scope, ...props } = param;
62
+ var context = useSheetContext(scope);
63
+ var composedRef = useComposedRefs(context.handleRef, forwardedRef);
64
+ var wasDraggingRef = useRef(false);
65
+ useEffect(function() {
66
+ if (!context.scrollBridge) return;
67
+ return context.scrollBridge.onParentDragging(function(isDragging) {
68
+ if (isDragging) {
69
+ wasDraggingRef.current = true;
70
+ }
71
+ });
72
+ }, [context.scrollBridge]);
73
+ if (context.onlyShowContainer) {
74
+ return null;
75
+ }
76
+ return /* @__PURE__ */ jsx(SheetHandleFrame, {
77
+ ref: composedRef,
78
+ onPressIn: function() {
79
+ wasDraggingRef.current = false;
80
+ },
81
+ onPress: function() {
82
+ if (wasDraggingRef.current) {
83
+ wasDraggingRef.current = false;
84
+ return;
85
+ }
86
+ var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);
87
+ var nextPos = (context.position + 1) % max;
88
+ context.setPosition(nextPos);
89
+ },
90
+ open: context.open,
91
+ ...props
92
+ });
93
+ });
94
+ var SheetOverlay = createStyledHOC(SheetOverlayFrame, function(propsIn, ref) {
95
+ var { scope, ...props } = propsIn;
96
+ var context = useSheetContext(scope);
97
+ var isInOverlayLayer = useContext(SheetOverlayLayerContext);
98
+ var didWarn = useRef(false);
99
+ if (context.onlyShowContainer) {
100
+ return null;
101
+ }
102
+ if (!isInOverlayLayer) {
103
+ if (process.env.NODE_ENV === "development" && !didWarn.current) {
104
+ didWarn.current = true;
105
+ console.error("Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.");
106
+ }
107
+ return null;
108
+ }
109
+ return /* @__PURE__ */ jsx(SheetOverlayFrame, {
110
+ ...props,
111
+ ref,
112
+ onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function() {
113
+ context.setOpen(false);
114
+ } : void 0)
115
+ });
116
+ });
117
+ var SheetContainer = createStyledHOC(SheetContainerFrame, function(param, forwardedRef) {
118
+ var { scope, adjustPaddingForOffscreenContent, children, ...props } = param;
119
+ var context = useSheetContext(scope);
120
+ var { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;
121
+ var composedContentRef = useComposedRefs(forwardedRef, contentRef);
122
+ var offscreenSize = useSheetOffscreenSize(context);
123
+ var stableFrameSize = useRef(frameSize);
124
+ useEffect(function() {
125
+ if (open && frameSize) {
126
+ stableFrameSize.current = frameSize;
127
+ }
128
+ }, [open, frameSize]);
129
+ var sheetContents = useMemo(function() {
130
+ var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
131
+ return /* @__PURE__ */ jsxs(SheetContainerFrame, {
132
+ ref: composedContentRef,
133
+ flex: hasFit && open ? 0 : 1,
134
+ flexBasis: hasFit ? "auto" : void 0,
135
+ height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,
136
+ pointerEvents: open ? "auto" : "none",
137
+ "data-state": open ? "open" : "closed",
138
+ ...props,
139
+ children: [/* @__PURE__ */ jsx(StackZIndexContext, {
140
+ zIndex: resolveViewZIndex(props.zIndex),
141
+ children
142
+ }), adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, {
143
+ "data-sheet-offscreen-pad": true,
144
+ height: offscreenSize,
145
+ width: "100%"
146
+ })]
147
+ });
148
+ }, [
149
+ open,
150
+ props,
151
+ frameSize,
152
+ offscreenSize,
153
+ adjustPaddingForOffscreenContent,
154
+ hasFit
155
+ ]);
156
+ return /* @__PURE__ */ jsx(RemoveScroll, {
157
+ enabled: !disableRemoveScroll && context.open,
158
+ children: sheetContents
159
+ });
160
+ });
161
+ var SheetBackground = createStyledHOC(SheetBackgroundFrame, function(param, forwardedRef) {
162
+ var { scope, disableHideBottomOverflow, ...props } = param;
163
+ var context = useSheetContext(scope);
164
+ var bottomOverflow = isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize;
165
+ return /* @__PURE__ */ jsx(SheetBackgroundFrame, {
166
+ ref: forwardedRef,
167
+ "data-sheet-background": "",
168
+ bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,
169
+ ...props
170
+ });
171
+ });
172
+ var SheetRoot = createRefComponent(function SheetRoot2(props, ref) {
173
+ var hydrated = useDidFinishSSR();
174
+ var isAdapted = useAdaptIsActive();
175
+ var adaptContext = useAdaptContext();
176
+ var { isShowingNonSheet } = useSheetController(props.scope);
177
+ var shouldUseAdapt = Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);
178
+ var isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;
179
+ var SheetImplementation = SheetImplementationCustom;
180
+ if (props.native) {
181
+ var impl = getNativeSheet("ios");
182
+ if (impl) {
183
+ SheetImplementation = impl;
184
+ }
185
+ }
186
+ if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {
187
+ return null;
188
+ }
189
+ var implementation = /* @__PURE__ */ jsx(SheetImplementation, {
190
+ ref,
191
+ ...props
192
+ });
193
+ return isAdapted ? /* @__PURE__ */ jsx(AdaptCapabilities, {
194
+ scroll: true,
195
+ overlay: true,
196
+ dismiss: true,
197
+ children: implementation
198
+ }) : implementation;
199
+ });
200
+ var sheetParts = {
201
+ Container: SheetContainer,
202
+ Background: SheetBackground,
203
+ Overlay: SheetOverlay,
204
+ Handle: SheetHandle,
205
+ ScrollView: SheetScrollView
206
+ };
207
+ var SheetControlled = withStaticProperties(SheetRoot, sheetParts);
208
+ var Sheet = withStaticProperties(SheetRoot, {
209
+ Root: SheetRoot,
210
+ Controlled: SheetControlled,
211
+ useAnimatedPosition,
212
+ ...sheetParts
213
+ });
214
+
215
+ export { Sheet, SheetBackground, SheetContainer, SheetControlled, SheetHandle, SheetOverlay, SheetRoot };
89
216
  //# sourceMappingURL=Sheet.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["styled","XStack","YStack","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","createSheet","createSheetScope","Handle","name","variants","open","true","opacity","pointerEvents","false","unstyled","height","borderRadius","backgroundColor","zIndex","marginHorizontal","marginBottom","hoverStyle","defaultVariants","process","env","TAMAGUI_HEADLESS","Overlay","fullscreen","position","Frame","flex","borderTopLeftRadius","borderTopRightRadius","width","maxHeight","overflow","Sheet"],"sources":["../../src/Sheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AACvB,SAASC,MAAA,EAAQC,MAAA,QAAc;AAE/B,SAASC,iBAAA,EAAmBC,UAAA,EAAYC,kBAAA,QAA0B;AAClE,SAASC,WAAA,QAAmB;AAE5B,SAASC,gBAAA,QAAwB;AACjC,cAAc;AAMP,IAAAC,MAAM,GAAAR,MAAS,CAAAC,MAAO;EAC3BQ,IAAA,EAAMN,iBAAA;EAENO,QAAA,EAAU;IACRC,IAAA,EAAM;MACJC,IAAA,EAAM;QACJC,OAAA,EAAS;QACTC,aAAA,EAAe;MACjB;MACAC,KAAA,EAAO;QACLF,OAAA,EAAS;QACTC,aAAA,EAAe;MACjB;IACF;IAEAE,QAAA,EAAU;MACRD,KAAA,EAAO;QACLE,MAAA,EAAQ;QACRC,YAAA,EAAc;QACdC,eAAA,EAAiB;QACjBC,MAAA,EAAQ;QACRC,gBAAA,EAAkB;QAClBC,YAAA,EAAc;QACdT,OAAA,EAAS;QAETU,UAAA,EAAY;UACVV,OAAA,EAAS;QACX;MACF;IACF;EACF;EAEAW,eAAA,EAAiB;IACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC;AAMM,IAAAC,OAAM,GAAA5B,MAAU,CAAAE,MAAO;EAC5BO,IAAA,EAAMJ,kBAAA;EAENK,QAAA,EAAU;IACRC,IAAA,EAAM;MACJC,IAAA,EAAM;QACJE,aAAA,EAAe;MACjB;MACAC,KAAA,EAAO;QACLD,aAAA,EAAe;MACjB;IACF;IAEAE,QAAA,EAAU;MACRD,KAAA,EAAO;QACLc,UAAA,EAAY;QACZC,QAAA,EAAU;QACVX,eAAA,EAAiB;QACjBC,MAAA,EAAQ,MAAU;QAClBN,aAAA,EAAe;MACjB;IACF;EACF;EAEAU,eAAA,EAAiB;IACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC;AAMM,IAAAI,KAAM,GAAA/B,MAAQ,CAAAE,MAAO;EAC1BO,IAAA,EAAML,UAAA;EAENM,QAAA,EAAU;IACRM,QAAA,EAAU;MACRD,KAAA,EAAO;QACLiB,IAAA,EAAM;QACNb,eAAA,EAAiB;QACjBc,mBAAA,EAAqB;QACrBC,oBAAA,EAAsB;QACtBC,KAAA,EAAO;QACPC,SAAA,EAAW;QACXC,QAAA,EAAU;MACZ;IACF;EACF;EAEAb,eAAA,EAAiB;IACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC;AAEM,IAAAW,KAAM,GAAAhC,WAAQ;EACnByB,KAAA;EACAvB,MAAA;EACAoB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Sheet.native.js","names":[],"sources":["esm/Sheet.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { AdaptCapabilities, useAdaptContext, useAdaptIsActive } from \"@tamagui/adapt\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { createRefComponent, createStyledHOC, styled, View } from \"@tamagui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { resolveViewZIndex } from \"@tamagui/portal\";\nimport { RemoveScroll } from \"@tamagui/remove-scroll\";\nimport { XStack, YStack } from \"@tamagui/stacks\";\nimport { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@tamagui/z-index-stack\";\nimport { useContext, useEffect, useMemo, useRef } from \"react\";\nimport { SHEET_BACKGROUND_NAME, SHEET_CONTAINER_NAME, SHEET_HANDLE_NAME, SHEET_OVERLAY_MARKER, SHEET_OVERLAY_NAME } from \"./constants\";\nimport { getNativeSheet } from \"./nativeSheet\";\nimport { SheetOverlayLayerContext, useAnimatedPosition, useSheetContext } from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\nexport * from \"./types\";\nvar SheetHandleFrame = styled(XStack, {\n displayName: SHEET_HANDLE_NAME,\n // the behavior Handle ships no opacity rules; open/close aesthetics (fade in\n // when open, dim when idle) live in the copied skin. see the canonical skin.\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nvar SheetOverlayFrame = styled(YStack, {\n displayName: SHEET_OVERLAY_NAME,\n inset: 0,\n position: \"absolute\",\n zIndex: 1e5 - 1,\n pointerEvents: \"auto\",\n variants: {\n open: {\n true: {\n pointerEvents: \"auto\"\n },\n false: {\n pointerEvents: \"none\"\n }\n }\n }\n});\nObject.assign(SheetOverlayFrame.staticConfig, {\n [SHEET_OVERLAY_MARKER]: true\n});\nvar SheetContainerFrame = styled(YStack, {\n displayName: SHEET_CONTAINER_NAME,\n flex: 1,\n position: \"relative\",\n zIndex: 0,\n width: \"100%\",\n maxHeight: \"100%\"\n});\nvar SheetBackgroundFrame = styled(YStack, {\n displayName: SHEET_BACKGROUND_NAME,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n zIndex: -1,\n pointerEvents: \"none\"\n});\nvar SheetHandle = createStyledHOC(SheetHandleFrame, function(param, forwardedRef) {\n var { scope, ...props } = param;\n var context = useSheetContext(scope);\n var composedRef = useComposedRefs(context.handleRef, forwardedRef);\n var wasDraggingRef = useRef(false);\n useEffect(function() {\n if (!context.scrollBridge) return;\n return context.scrollBridge.onParentDragging(function(isDragging) {\n if (isDragging) {\n wasDraggingRef.current = true;\n }\n });\n }, [\n context.scrollBridge\n ]);\n if (context.onlyShowContainer) {\n return null;\n }\n return /* @__PURE__ */ _jsx(SheetHandleFrame, {\n ref: composedRef,\n onPressIn: function() {\n wasDraggingRef.current = false;\n },\n onPress: function() {\n if (wasDraggingRef.current) {\n wasDraggingRef.current = false;\n return;\n }\n var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n var nextPos = (context.position + 1) % max;\n context.setPosition(nextPos);\n },\n open: context.open,\n ...props\n });\n});\nvar SheetOverlay = createStyledHOC(SheetOverlayFrame, function(propsIn, ref) {\n var { scope, ...props } = propsIn;\n var context = useSheetContext(scope);\n var isInOverlayLayer = useContext(SheetOverlayLayerContext);\n var didWarn = useRef(false);\n if (context.onlyShowContainer) {\n return null;\n }\n if (!isInOverlayLayer) {\n if (process.env.NODE_ENV === \"development\" && !didWarn.current) {\n didWarn.current = true;\n console.error(\"Sheet.Overlay must be a direct child of Sheet. Move it next to Sheet.Handle and Sheet.Container.\");\n }\n return null;\n }\n return /* @__PURE__ */ _jsx(SheetOverlayFrame, {\n ...props,\n ref,\n onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function() {\n context.setOpen(false);\n } : void 0)\n });\n});\nvar SheetContainer = createStyledHOC(SheetContainerFrame, function(param, forwardedRef) {\n var { scope, adjustPaddingForOffscreenContent, children, ...props } = param;\n var context = useSheetContext(scope);\n var { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;\n var composedContentRef = useComposedRefs(forwardedRef, contentRef);\n var offscreenSize = useSheetOffscreenSize(context);\n var stableFrameSize = useRef(frameSize);\n useEffect(function() {\n if (open && frameSize) {\n stableFrameSize.current = frameSize;\n }\n }, [\n open,\n frameSize\n ]);\n var sheetContents = useMemo(function() {\n var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n return /* @__PURE__ */ _jsxs(SheetContainerFrame, {\n ref: composedContentRef,\n flex: hasFit && open ? 0 : 1,\n flexBasis: hasFit ? \"auto\" : void 0,\n height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n pointerEvents: open ? \"auto\" : \"none\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...props,\n children: [\n /* @__PURE__ */ _jsx(StackZIndexContext, {\n zIndex: resolveViewZIndex(props.zIndex),\n children\n }),\n adjustPaddingForOffscreenContent && /* @__PURE__ */ _jsx(View, {\n \"data-sheet-offscreen-pad\": true,\n height: offscreenSize,\n width: \"100%\"\n })\n ]\n });\n }, [\n open,\n props,\n frameSize,\n offscreenSize,\n adjustPaddingForOffscreenContent,\n hasFit\n ]);\n return /* @__PURE__ */ _jsx(RemoveScroll, {\n enabled: !disableRemoveScroll && context.open,\n children: sheetContents\n });\n});\nvar SheetBackground = createStyledHOC(SheetBackgroundFrame, function(param, forwardedRef) {\n var { scope, disableHideBottomOverflow, ...props } = param;\n var context = useSheetContext(scope);\n var bottomOverflow = isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize;\n return /* @__PURE__ */ _jsx(SheetBackgroundFrame, {\n ref: forwardedRef,\n \"data-sheet-background\": \"\",\n bottom: disableHideBottomOverflow ? 0 : -bottomOverflow,\n ...props\n });\n});\nvar SheetRoot = createRefComponent(function SheetRoot2(props, ref) {\n var hydrated = useDidFinishSSR();\n var isAdapted = useAdaptIsActive();\n var adaptContext = useAdaptContext();\n var { isShowingNonSheet } = useSheetController(props.scope);\n var shouldUseAdapt = Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);\n var isShowingAdaptNonSheet = shouldUseAdapt && !adaptContext.active && adaptContext.open;\n var SheetImplementation = SheetImplementationCustom;\n if (props.native) {\n var impl = getNativeSheet(\"ios\");\n if (impl) {\n SheetImplementation = impl;\n }\n }\n if (isShowingAdaptNonSheet || isShowingNonSheet || !hydrated) {\n return null;\n }\n var implementation = /* @__PURE__ */ _jsx(SheetImplementation, {\n ref,\n ...props\n });\n return isAdapted ? /* @__PURE__ */ _jsx(AdaptCapabilities, {\n scroll: true,\n overlay: true,\n dismiss: true,\n children: implementation\n }) : implementation;\n});\nvar sheetParts = {\n Container: SheetContainer,\n Background: SheetBackground,\n Overlay: SheetOverlay,\n Handle: SheetHandle,\n ScrollView: SheetScrollView\n};\nvar SheetControlled = withStaticProperties(SheetRoot, sheetParts);\nvar Sheet = withStaticProperties(SheetRoot, {\n Root: SheetRoot,\n Controlled: SheetControlled,\n useAnimatedPosition,\n ...sheetParts\n});\nexport {\n Sheet,\n SheetBackground,\n SheetContainer,\n SheetControlled,\n SheetHandle,\n SheetOverlay,\n SheetRoot\n};\n//# sourceMappingURL=Sheet.js.map\n"],"mappings":"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"}
@@ -1,6 +1,22 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
- import { SHEET_NAME } from "./constants.mjs";
3
- const [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME);
4
- const [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {});
5
- export { SheetProvider, createSheetContext, createSheetScope, useSheetContext };
1
+ import { createStyledContext } from "@tamagui/core";
2
+ import React from "react";
3
+
4
+ const SheetContext = createStyledContext({}, "Sheet__");
5
+ const { Provider: SheetProvider, useStyledContext: useSheetContext } = SheetContext;
6
+ const SheetOverlayLayerContext = React.createContext(false);
7
+ const SheetNativeSystemContext = React.createContext(false);
8
+ const SheetAnimatedPositionContext = React.createContext(null);
9
+ function useAnimatedPosition() {
10
+ const context = React.useContext(SheetAnimatedPositionContext);
11
+ const isNativeSystemSheet = React.useContext(SheetNativeSystemContext);
12
+ if (!context) {
13
+ if (isNativeSystemSheet) {
14
+ throw new Error("Sheet.useAnimatedPosition() is unavailable when Sheet uses the native iOS system sheet because UIKit does not expose its continuous position. Remove the `native` prop to use Tamagui's custom Sheet and animated position hooks.");
15
+ }
16
+ throw new Error("Sheet.useAnimatedPosition() must be used inside a <Sheet>. Render the component that calls it as a child of Sheet.");
17
+ }
18
+ return context;
19
+ }
20
+
21
+ export { SheetAnimatedPositionContext, SheetContext, SheetNativeSystemContext, SheetOverlayLayerContext, SheetProvider, useAnimatedPosition, useSheetContext };
6
22
  //# sourceMappingURL=SheetContext.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContextScope","SHEET_NAME","createSheetContext","createSheetScope","SheetProvider","useSheetContext"],"sources":["../../src/SheetContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAEnC,SAASC,UAAA,QAAkB;AAGpB,MAAM,CAACC,kBAAA,EAAoBC,gBAAgB,IAAIH,kBAAA,CAAmBC,UAAU;AAE5E,MAAM,CAACG,aAAA,EAAeC,eAAe,IAAIH,kBAAA,CAC9CD,UAAA,EACA,CAAC,CACH","ignoreList":[]}
1
+ {"version":3,"file":"SheetContext.js","names":[],"sources":["esm/SheetContext.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/core\";\nimport React from \"react\";\nconst SheetContext = createStyledContext({}, \"Sheet__\");\nconst { Provider: SheetProvider, useStyledContext: useSheetContext } = SheetContext;\nconst SheetOverlayLayerContext = React.createContext(false);\nconst SheetNativeSystemContext = React.createContext(false);\nconst SheetAnimatedPositionContext = React.createContext(null);\nfunction useAnimatedPosition() {\n const context = React.useContext(SheetAnimatedPositionContext);\n const isNativeSystemSheet = React.useContext(SheetNativeSystemContext);\n if (!context) {\n if (isNativeSystemSheet) {\n throw new Error(\n \"Sheet.useAnimatedPosition() is unavailable when Sheet uses the native iOS system sheet because UIKit does not expose its continuous position. Remove the `native` prop to use Tamagui's custom Sheet and animated position hooks.\"\n );\n }\n throw new Error(\n \"Sheet.useAnimatedPosition() must be used inside a <Sheet>. Render the component that calls it as a child of Sheet.\"\n );\n }\n return context;\n}\nexport {\n SheetAnimatedPositionContext,\n SheetContext,\n SheetNativeSystemContext,\n SheetOverlayLayerContext,\n SheetProvider,\n useAnimatedPosition,\n useSheetContext\n};\n//# sourceMappingURL=SheetContext.js.map\n"],"mappings":";;;;AAEA,MAAM,eAAe,oBAAoB,CAAC,GAAG,SAAS;AACtD,MAAM,EAAE,UAAU,eAAe,kBAAkB,oBAAoB;AACvE,MAAM,2BAA2B,MAAM,cAAc,KAAK;AAC1D,MAAM,2BAA2B,MAAM,cAAc,KAAK;AAC1D,MAAM,+BAA+B,MAAM,cAAc,IAAI;AAC7D,SAAS,sBAAsB;CAC7B,MAAM,UAAU,MAAM,WAAW,4BAA4B;CAC7D,MAAM,sBAAsB,MAAM,WAAW,wBAAwB;CACrE,IAAI,CAAC,SAAS;EACZ,IAAI,qBAAqB;GACvB,MAAM,IAAI,MACR,mOACF;EACF;EACA,MAAM,IAAI,MACR,oHACF;CACF;CACA,OAAO;AACT"}
@@ -1,6 +1,22 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
- import { SHEET_NAME } from "./constants.native.js";
3
- var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME);
4
- var [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {});
5
- export { SheetProvider, createSheetContext, createSheetScope, useSheetContext };
1
+ import { createStyledContext } from "@tamagui/core";
2
+ import React from "react";
3
+
4
+ var SheetContext = createStyledContext({}, "Sheet__");
5
+ var { Provider: SheetProvider, useStyledContext: useSheetContext } = SheetContext;
6
+ var SheetOverlayLayerContext = /* @__PURE__ */ React.createContext(false);
7
+ var SheetNativeSystemContext = /* @__PURE__ */ React.createContext(false);
8
+ var SheetAnimatedPositionContext = /* @__PURE__ */ React.createContext(null);
9
+ function useAnimatedPosition() {
10
+ var context = React.useContext(SheetAnimatedPositionContext);
11
+ var isNativeSystemSheet = React.useContext(SheetNativeSystemContext);
12
+ if (!context) {
13
+ if (isNativeSystemSheet) {
14
+ throw new Error("Sheet.useAnimatedPosition() is unavailable when Sheet uses the native iOS system sheet because UIKit does not expose its continuous position. Remove the `native` prop to use Tamagui's custom Sheet and animated position hooks.");
15
+ }
16
+ throw new Error("Sheet.useAnimatedPosition() must be used inside a <Sheet>. Render the component that calls it as a child of Sheet.");
17
+ }
18
+ return context;
19
+ }
20
+
21
+ export { SheetAnimatedPositionContext, SheetContext, SheetNativeSystemContext, SheetOverlayLayerContext, SheetProvider, useAnimatedPosition, useSheetContext };
6
22
  //# sourceMappingURL=SheetContext.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContextScope","SHEET_NAME","createSheetContext","createSheetScope","SheetProvider","useSheetContext"],"sources":["../../src/SheetContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAEnC,SAASC,UAAA,QAAkB;AAGpB,KAAAC,kBAAO,EAAAC,gBAAoB,IAAgBH,kBAAI,CAAAC,UAAmB;AAElE,KAAAG,aAAO,EAAAC,eAAe,IAAeH,kBAAI,CAAAD,UAAA;AAAA,SAE9CG,aAAC,EACHF,kBAAA,E","ignoreList":[]}
1
+ {"version":3,"file":"SheetContext.native.js","names":[],"sources":["esm/SheetContext.native.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/core\";\nimport React from \"react\";\nvar SheetContext = createStyledContext({}, \"Sheet__\");\nvar { Provider: SheetProvider, useStyledContext: useSheetContext } = SheetContext;\nvar SheetOverlayLayerContext = /* @__PURE__ */ React.createContext(false);\nvar SheetNativeSystemContext = /* @__PURE__ */ React.createContext(false);\nvar SheetAnimatedPositionContext = /* @__PURE__ */ React.createContext(null);\nfunction useAnimatedPosition() {\n var context = React.useContext(SheetAnimatedPositionContext);\n var isNativeSystemSheet = React.useContext(SheetNativeSystemContext);\n if (!context) {\n if (isNativeSystemSheet) {\n throw new Error(\"Sheet.useAnimatedPosition() is unavailable when Sheet uses the native iOS system sheet because UIKit does not expose its continuous position. Remove the `native` prop to use Tamagui's custom Sheet and animated position hooks.\");\n }\n throw new Error(\"Sheet.useAnimatedPosition() must be used inside a <Sheet>. Render the component that calls it as a child of Sheet.\");\n }\n return context;\n}\nexport {\n SheetAnimatedPositionContext,\n SheetContext,\n SheetNativeSystemContext,\n SheetOverlayLayerContext,\n SheetProvider,\n useAnimatedPosition,\n useSheetContext\n};\n//# sourceMappingURL=SheetContext.js.map\n"],"mappings":";;;;AAEA,IAAI,eAAe,oBAAoB,CAAC,GAAG,SAAS;AACpD,IAAI,EAAE,UAAU,eAAe,kBAAkB,oBAAoB;AACrE,IAAI,2BAA2C,sBAAM,cAAc,KAAK;AACxE,IAAI,2BAA2C,sBAAM,cAAc,KAAK;AACxE,IAAI,+BAA+C,sBAAM,cAAc,IAAI;AAC3E,SAAS,sBAAsB;CAC7B,IAAI,UAAU,MAAM,WAAW,4BAA4B;CAC3D,IAAI,sBAAsB,MAAM,WAAW,wBAAwB;CACnE,IAAI,CAAC,SAAS;EACZ,IAAI,qBAAqB;GACvB,MAAM,IAAI,MAAM,mOAAmO;EACrP;EACA,MAAM,IAAI,MAAM,oHAAoH;CACtI;CACA,OAAO;AACT"}
@@ -2,36 +2,40 @@ import React, { useId, useRef } from "react";
2
2
  import { useEvent } from "@tamagui/core";
3
3
  import { SheetControllerContext } from "./useSheetController.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
5
- const SheetController = ({
6
- children,
7
- onOpenChange: onOpenChangeProp,
8
- onAnimationComplete: onAnimationCompleteProp,
9
- open,
10
- hidden,
11
- disableDrag
12
- }) => {
13
- const onOpenChange = useEvent(onOpenChangeProp);
14
- const onAnimationComplete = useEvent(onAnimationCompleteProp);
15
- const id = useId();
16
- const wasHiddenRef = useRef(hidden);
17
- let skipNextAnimation = false;
18
- if (wasHiddenRef.current && !hidden && open) {
19
- skipNextAnimation = true;
20
- }
21
- wasHiddenRef.current = hidden;
22
- const memoValue = React.useMemo(() => ({
23
- id,
24
- open,
25
- hidden,
26
- disableDrag,
27
- onOpenChange,
28
- onAnimationComplete,
29
- skipNextAnimation
30
- }), [id, onOpenChange, onAnimationComplete, open, hidden, disableDrag, skipNextAnimation]);
31
- return /* @__PURE__ */jsx(SheetControllerContext.Provider, {
32
- value: memoValue,
33
- children
34
- });
5
+
6
+ const SheetController = ({ children, onOpenChange: onOpenChangeProp, onTransition: onTransitionProp, open, hidden, disableDrag, scope = "" }) => {
7
+ const onOpenChange = useEvent(onOpenChangeProp);
8
+ const onTransition = useEvent(onTransitionProp);
9
+ const id = useId();
10
+ const wasHiddenRef = useRef(hidden);
11
+ let skipNextAnimation = false;
12
+ if (wasHiddenRef.current && !hidden && open) {
13
+ skipNextAnimation = true;
14
+ }
15
+ wasHiddenRef.current = hidden;
16
+ const memoValue = React.useMemo(() => ({
17
+ id,
18
+ open,
19
+ hidden,
20
+ disableDrag,
21
+ onOpenChange,
22
+ onTransition,
23
+ skipNextAnimation
24
+ }), [
25
+ id,
26
+ onOpenChange,
27
+ onTransition,
28
+ open,
29
+ hidden,
30
+ disableDrag,
31
+ skipNextAnimation
32
+ ]);
33
+ return /* @__PURE__ */ jsx(SheetControllerContext.Provider, {
34
+ scope,
35
+ ...memoValue,
36
+ children
37
+ });
35
38
  };
39
+
36
40
  export { SheetController };
37
41
  //# sourceMappingURL=SheetController.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useId","useRef","useEvent","SheetControllerContext","jsx","SheetController","children","onOpenChange","onOpenChangeProp","onAnimationComplete","onAnimationCompleteProp","open","hidden","disableDrag","id","wasHiddenRef","skipNextAnimation","current","memoValue","useMemo","Provider","value"],"sources":["../../src/SheetController.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,KAAA,EAAOC,MAAA,QAAc;AACrC,SAASC,QAAA,QAAgB;AAIzB,SAASC,sBAAA,QAA8B;AAqCnC,SAAAC,GAAA;AAnCG,MAAMC,eAAA,GAAkBA,CAAC;EAC9BC,QAAA;EACAC,YAAA,EAAcC,gBAAA;EACdC,mBAAA,EAAqBC,uBAAA;EACrBC,IAAA;EACAC,MAAA;EACAC;AACF,MAAuE;EACrE,MAAMN,YAAA,GAAeL,QAAA,CAASM,gBAAgB;EAC9C,MAAMC,mBAAA,GAAsBP,QAAA,CAASQ,uBAAuB;EAC5D,MAAMI,EAAA,GAAKd,KAAA,CAAM;EAIjB,MAAMe,YAAA,GAAed,MAAA,CAAOW,MAAM;EAClC,IAAII,iBAAA,GAAoB;EACxB,IAAID,YAAA,CAAaE,OAAA,IAAW,CAACL,MAAA,IAAUD,IAAA,EAAM;IAC3CK,iBAAA,GAAoB;EACtB;EACAD,YAAA,CAAaE,OAAA,GAAUL,MAAA;EAEvB,MAAMM,SAAA,GAAYnB,KAAA,CAAMoB,OAAA,CACtB,OAAO;IACLL,EAAA;IACAH,IAAA;IACAC,MAAA;IACAC,WAAA;IACAN,YAAA;IACAE,mBAAA;IACAO;EACF,IACA,CAACF,EAAA,EAAIP,YAAA,EAAcE,mBAAA,EAAqBE,IAAA,EAAMC,MAAA,EAAQC,WAAA,EAAaG,iBAAiB,CACtF;EAEA,OACE,eAAAZ,GAAA,CAACD,sBAAA,CAAuBiB,QAAA,EAAvB;IAAgCC,KAAA,EAAOH,SAAA;IACrCZ;EAAA,CACH;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"SheetController.js","names":[],"sources":["esm/SheetController.js"],"sourcesContent":["import React, { useId, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/core\";\nimport { SheetControllerContext } from \"./useSheetController\";\nimport { jsx } from \"react/jsx-runtime\";\nconst SheetController = ({\n children,\n onOpenChange: onOpenChangeProp,\n onTransition: onTransitionProp,\n open,\n hidden,\n disableDrag,\n scope = \"\"\n}) => {\n const onOpenChange = useEvent(onOpenChangeProp);\n const onTransition = useEvent(onTransitionProp);\n const id = useId();\n const wasHiddenRef = useRef(hidden);\n let skipNextAnimation = false;\n if (wasHiddenRef.current && !hidden && open) {\n skipNextAnimation = true;\n }\n wasHiddenRef.current = hidden;\n const memoValue = React.useMemo(\n () => ({\n id,\n open,\n hidden,\n disableDrag,\n onOpenChange,\n onTransition,\n skipNextAnimation\n }),\n [id, onOpenChange, onTransition, open, hidden, disableDrag, skipNextAnimation]\n );\n return /* @__PURE__ */ jsx(SheetControllerContext.Provider, { scope, ...memoValue, children });\n};\nexport {\n SheetController\n};\n//# sourceMappingURL=SheetController.js.map\n"],"mappings":";;;;;;AAIA,MAAM,mBAAmB,EACvB,UACA,cAAc,kBACd,cAAc,kBACd,MACA,QACA,aACA,QAAQ,SACJ;CACJ,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,eAAe,SAAS,gBAAgB;CAC9C,MAAM,KAAK,MAAM;CACjB,MAAM,eAAe,OAAO,MAAM;CAClC,IAAI,oBAAoB;CACxB,IAAI,aAAa,WAAW,CAAC,UAAU,MAAM;EAC3C,oBAAoB;CACtB;CACA,aAAa,UAAU;CACvB,MAAM,YAAY,MAAM,eACf;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EAAC;EAAI;EAAc;EAAc;EAAM;EAAQ;EAAa;CAAiB,CAC/E;CACA,OAAuB,oBAAI,uBAAuB,UAAU;EAAE;EAAO,GAAG;EAAW;CAAS,CAAC;AAC/F"}
@@ -1,40 +1,44 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import React, { useId, useRef } from "react";
3
3
  import { useEvent } from "@tamagui/core";
4
4
  import { SheetControllerContext } from "./useSheetController.native.js";
5
- var SheetController = function (param) {
6
- var {
7
- children,
8
- onOpenChange: onOpenChangeProp,
9
- onAnimationComplete: onAnimationCompleteProp,
10
- open,
11
- hidden,
12
- disableDrag
13
- } = param;
14
- var onOpenChange = useEvent(onOpenChangeProp);
15
- var onAnimationComplete = useEvent(onAnimationCompleteProp);
16
- var id = useId();
17
- var wasHiddenRef = useRef(hidden);
18
- var skipNextAnimation = false;
19
- if (wasHiddenRef.current && !hidden && open) {
20
- skipNextAnimation = true;
21
- }
22
- wasHiddenRef.current = hidden;
23
- var memoValue = React.useMemo(function () {
24
- return {
25
- id,
26
- open,
27
- hidden,
28
- disableDrag,
29
- onOpenChange,
30
- onAnimationComplete,
31
- skipNextAnimation
32
- };
33
- }, [id, onOpenChange, onAnimationComplete, open, hidden, disableDrag, skipNextAnimation]);
34
- return /* @__PURE__ */_jsx(SheetControllerContext.Provider, {
35
- value: memoValue,
36
- children
37
- });
5
+
6
+ var SheetController = function(param) {
7
+ var { children, onOpenChange: onOpenChangeProp, onTransition: onTransitionProp, open, hidden, disableDrag, scope = "" } = param;
8
+ var onOpenChange = useEvent(onOpenChangeProp);
9
+ var onTransition = useEvent(onTransitionProp);
10
+ var id = useId();
11
+ var wasHiddenRef = useRef(hidden);
12
+ var skipNextAnimation = false;
13
+ if (wasHiddenRef.current && !hidden && open) {
14
+ skipNextAnimation = true;
15
+ }
16
+ wasHiddenRef.current = hidden;
17
+ var memoValue = React.useMemo(function() {
18
+ return {
19
+ id,
20
+ open,
21
+ hidden,
22
+ disableDrag,
23
+ onOpenChange,
24
+ onTransition,
25
+ skipNextAnimation
26
+ };
27
+ }, [
28
+ id,
29
+ onOpenChange,
30
+ onTransition,
31
+ open,
32
+ hidden,
33
+ disableDrag,
34
+ skipNextAnimation
35
+ ]);
36
+ return /* @__PURE__ */ jsx(SheetControllerContext.Provider, {
37
+ scope,
38
+ ...memoValue,
39
+ children
40
+ });
38
41
  };
42
+
39
43
  export { SheetController };
40
44
  //# sourceMappingURL=SheetController.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","React","useId","useRef","useEvent","SheetControllerContext","SheetController","param","children","onOpenChange","onOpenChangeProp","onAnimationComplete","onAnimationCompleteProp","open","hidden","disableDrag","id","wasHiddenRef","skipNextAnimation","current","memoValue","useMemo","Provider"],"sources":["../../src/SheetController.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAASC,IAAA,QAAO,mBAAc;AACrC,OAAAC,KAAS,IAAAC,KAAA,EAAAC,MAAgB;AAIzB,SAASC,QAAA,uBAA8B;AAqCnC,SAAAC,sBAAA;AAnCG,IAAAC,eAAM,YAAAA,CAAmBC,KAAA;EAC9B;IAAAC,QAAA;IAAAC,YAAA,EAAAC,gBAAA;IAAAC,mBAAA,EAAAC,uBAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAR,KAAA;EACA,IAAAE,YAAc,GAAAL,QAAA,CAAAM,gBAAA;EACd,IAAAC,mBAAqB,GAAAP,QAAA,CAAAQ,uBAAA;EACrB,IAAAI,EAAA,GAAAd,KAAA;EACA,IAAAe,YAAA,GAAAd,MAAA,CAAAW,MAAA;EACA,IAAAI,iBAAA;EACF,IAAuED,YAAA,CAAAE,OAAA,KAAAL,MAAA,IAAAD,IAAA;IACrEK,iBAAM,GAAe;EACrB;EACAD,YAAW,CAAAE,OAAM,GAAAL,MAAA;EAIjB,IAAAM,SAAM,GAAAnB,KAAe,CAAAoB,OAAO,aAAM;IAClC,OAAI;MACAL,EAAA;MACFH,IAAA;MACFC,MAAA;MACAC,WAAa;MAEbN,YAAM;MACJE,mBAAO;MACLO;IAAA;EACA,IACAF,EACA,EAAAP,YACA,EAAAE,mBACA,EAAAE,IACA,EACFC,MAAA,EACAC,WAAK,EACPG,iBAAA,CAEA;EAKF,sBAAAlB,IAAA,CAAAK,sBAAA,CAAAiB,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"SheetController.native.js","names":[],"sources":["esm/SheetController.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { useId, useRef } from \"react\";\nimport { useEvent } from \"@tamagui/core\";\nimport { SheetControllerContext } from \"./useSheetController\";\nvar SheetController = function(param) {\n var { children, onOpenChange: onOpenChangeProp, onTransition: onTransitionProp, open, hidden, disableDrag, scope = \"\" } = param;\n var onOpenChange = useEvent(onOpenChangeProp);\n var onTransition = useEvent(onTransitionProp);\n var id = useId();\n var wasHiddenRef = useRef(hidden);\n var skipNextAnimation = false;\n if (wasHiddenRef.current && !hidden && open) {\n skipNextAnimation = true;\n }\n wasHiddenRef.current = hidden;\n var memoValue = React.useMemo(function() {\n return {\n id,\n open,\n hidden,\n disableDrag,\n onOpenChange,\n onTransition,\n skipNextAnimation\n };\n }, [\n id,\n onOpenChange,\n onTransition,\n open,\n hidden,\n disableDrag,\n skipNextAnimation\n ]);\n return /* @__PURE__ */ _jsx(SheetControllerContext.Provider, {\n scope,\n ...memoValue,\n children\n });\n};\nexport {\n SheetController\n};\n//# sourceMappingURL=SheetController.js.map\n"],"mappings":";;;;;;AAIA,IAAI,kBAAkB,SAAS,OAAO;CACpC,IAAI,EAAE,UAAU,cAAc,kBAAkB,cAAc,kBAAkB,MAAM,QAAQ,aAAa,QAAQ,OAAO;CAC1H,IAAI,eAAe,SAAS,gBAAgB;CAC5C,IAAI,eAAe,SAAS,gBAAgB;CAC5C,IAAI,KAAK,MAAM;CACf,IAAI,eAAe,OAAO,MAAM;CAChC,IAAI,oBAAoB;CACxB,IAAI,aAAa,WAAW,CAAC,UAAU,MAAM;EAC3C,oBAAoB;CACtB;CACA,aAAa,UAAU;CACvB,IAAI,YAAY,MAAM,QAAQ,WAAW;EACvC,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,OAAuB,oBAAK,uBAAuB,UAAU;EAC3D;EACA,GAAG;EACH;CACF,CAAC;AACH"}
@@ -0,0 +1,25 @@
1
+ import { View } from "@tamagui/core";
2
+ import { PanResponder } from "@tamagui/react-native-pan-responder";
3
+ import { useResponderEvents } from "@tamagui/react-native-use-responder-events";
4
+ import * as React from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ function SheetDragSurface({ panConfig, children }) {
8
+ const ref = React.useRef(null);
9
+ const panHandlers = React.useMemo(() => panConfig ? PanResponder.create(panConfig).panHandlers : void 0, [panConfig]);
10
+ const { onClickCapture, ...responderHandlers } = panHandlers ?? {};
11
+ useResponderEvents(ref, responderHandlers);
12
+ const domProps = { onClickCapture };
13
+ return /* @__PURE__ */ jsx(View, {
14
+ ref,
15
+ ...domProps,
16
+ flex: 1,
17
+ flexBasis: "auto",
18
+ width: "100%",
19
+ height: "100%",
20
+ children
21
+ });
22
+ }
23
+
24
+ export { SheetDragSurface };
25
+ //# sourceMappingURL=SheetDragSurface.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetDragSurface.js","names":[],"sources":["esm/SheetDragSurface.js"],"sourcesContent":["import { View } from \"@tamagui/core\";\nimport { PanResponder } from \"@tamagui/react-native-pan-responder\";\nimport { useResponderEvents } from \"@tamagui/react-native-use-responder-events\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction SheetDragSurface({ panConfig, children }) {\n const ref = React.useRef(null);\n const panHandlers = React.useMemo(\n () => panConfig ? PanResponder.create(panConfig).panHandlers : void 0,\n [panConfig]\n );\n const { onClickCapture, ...responderHandlers } = panHandlers ?? {};\n useResponderEvents(ref, responderHandlers);\n const domProps = { onClickCapture };\n return (\n // flexBasis auto, like the container frame: under the web style compat\n // `flex={1}` means a basis of 0, which collapses this surface inside the\n // animated wrapper (that wrapper has no height of its own in fit mode), and\n // a collapsed surface leaves the frame unmeasured and parked off-screen\n /* @__PURE__ */ jsx(View, { ref, ...domProps, flex: 1, flexBasis: \"auto\", width: \"100%\", height: \"100%\", children })\n );\n}\nexport {\n SheetDragSurface\n};\n//# sourceMappingURL=SheetDragSurface.js.map\n"],"mappings":";;;;;;;AAKA,SAAS,iBAAiB,EAAE,WAAW,YAAY;CACjD,MAAM,MAAM,MAAM,OAAO,IAAI;CAC7B,MAAM,cAAc,MAAM,cAClB,YAAY,aAAa,OAAO,SAAS,CAAC,CAAC,cAAc,KAAK,GACpE,CAAC,SAAS,CACZ;CACA,MAAM,EAAE,gBAAgB,GAAG,sBAAsB,eAAe,CAAC;CACjE,mBAAmB,KAAK,iBAAiB;CACzC,MAAM,WAAW,EAAE,eAAe;CAClC,OAKkB,oBAAI,MAAM;EAAE;EAAK,GAAG;EAAU,MAAM;EAAG,WAAW;EAAQ,OAAO;EAAQ,QAAQ;EAAQ;CAAS,CAAC;AAEvH"}