@tamagui/sheet 2.0.0-rc.3 → 2.0.0-rc.31

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 (207) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/controller/index.cjs +2 -0
  3. package/controller/index.js +2 -0
  4. package/controller/index.native.cjs +2 -0
  5. package/controller/index.native.js +2 -0
  6. package/dist/cjs/SheetImplementationCustom.cjs +32 -33
  7. package/dist/cjs/SheetImplementationCustom.native.js +28 -24
  8. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  9. package/dist/cjs/useGestureHandlerPan.cjs +1 -1
  10. package/dist/cjs/useGestureHandlerPan.native.js +1 -1
  11. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  12. package/dist/esm/SheetImplementationCustom.mjs +33 -34
  13. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  14. package/dist/esm/SheetImplementationCustom.native.js +29 -25
  15. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  16. package/dist/esm/index.js +11 -11
  17. package/dist/esm/index.js.map +1 -6
  18. package/dist/esm/useGestureHandlerPan.mjs +1 -1
  19. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  20. package/dist/esm/useGestureHandlerPan.native.js +1 -1
  21. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  22. package/dist/jsx/SheetImplementationCustom.mjs +33 -34
  23. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  24. package/dist/jsx/SheetImplementationCustom.native.js +28 -24
  25. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  26. package/dist/jsx/index.js +11 -11
  27. package/dist/jsx/index.js.map +1 -6
  28. package/dist/jsx/useGestureHandlerPan.mjs +1 -1
  29. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  30. package/dist/jsx/useGestureHandlerPan.native.js +1 -1
  31. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  32. package/next.md +78 -0
  33. package/package.json +31 -46
  34. package/setup-gesture-handler/index.cjs +2 -0
  35. package/setup-gesture-handler/index.js +2 -0
  36. package/setup-gesture-handler/index.native.cjs +2 -0
  37. package/setup-gesture-handler/index.native.js +2 -0
  38. package/setup-gesture-handler.cjs +1 -0
  39. package/src/SheetImplementationCustom.tsx +69 -38
  40. package/src/types.tsx +5 -0
  41. package/src/useGestureHandlerPan.tsx +5 -3
  42. package/tsconfig.json +56 -0
  43. package/types/Sheet.d.ts +3 -0
  44. package/types/Sheet.d.ts.map +1 -1
  45. package/types/SheetImplementationCustom.d.ts +3 -0
  46. package/types/SheetImplementationCustom.d.ts.map +1 -1
  47. package/types/createSheet.d.ts +3 -0
  48. package/types/createSheet.d.ts.map +1 -1
  49. package/types/types.d.ts +6 -0
  50. package/types/types.d.ts.map +1 -1
  51. package/types/useGestureHandlerPan.d.ts.map +1 -1
  52. package/dist/cjs/GestureDetectorWrapper.js +0 -29
  53. package/dist/cjs/GestureDetectorWrapper.js.map +0 -6
  54. package/dist/cjs/GestureSheetContext.js +0 -43
  55. package/dist/cjs/GestureSheetContext.js.map +0 -6
  56. package/dist/cjs/Sheet.js +0 -104
  57. package/dist/cjs/Sheet.js.map +0 -6
  58. package/dist/cjs/SheetContext.js +0 -28
  59. package/dist/cjs/SheetContext.js.map +0 -6
  60. package/dist/cjs/SheetController.js +0 -52
  61. package/dist/cjs/SheetController.js.map +0 -6
  62. package/dist/cjs/SheetImplementationCustom.js +0 -393
  63. package/dist/cjs/SheetImplementationCustom.js.map +0 -6
  64. package/dist/cjs/SheetScrollView.js +0 -137
  65. package/dist/cjs/SheetScrollView.js.map +0 -6
  66. package/dist/cjs/constants.js +0 -24
  67. package/dist/cjs/constants.js.map +0 -6
  68. package/dist/cjs/contexts.js +0 -33
  69. package/dist/cjs/contexts.js.map +0 -6
  70. package/dist/cjs/controller.js +0 -23
  71. package/dist/cjs/controller.js.map +0 -6
  72. package/dist/cjs/createSheet.js +0 -152
  73. package/dist/cjs/createSheet.js.map +0 -6
  74. package/dist/cjs/gestureState.js +0 -34
  75. package/dist/cjs/gestureState.js.map +0 -6
  76. package/dist/cjs/helpers.js +0 -26
  77. package/dist/cjs/helpers.js.map +0 -6
  78. package/dist/cjs/index.js +0 -25
  79. package/dist/cjs/index.js.map +0 -6
  80. package/dist/cjs/nativeSheet.js +0 -56
  81. package/dist/cjs/nativeSheet.js.map +0 -6
  82. package/dist/cjs/setupGestureHandler.js +0 -38
  83. package/dist/cjs/setupGestureHandler.js.map +0 -6
  84. package/dist/cjs/types.js +0 -14
  85. package/dist/cjs/types.js.map +0 -6
  86. package/dist/cjs/useGestureHandlerPan.js +0 -126
  87. package/dist/cjs/useGestureHandlerPan.js.map +0 -6
  88. package/dist/cjs/useKeyboardControllerSheet.js +0 -34
  89. package/dist/cjs/useKeyboardControllerSheet.js.map +0 -6
  90. package/dist/cjs/useSheet.js +0 -22
  91. package/dist/cjs/useSheet.js.map +0 -6
  92. package/dist/cjs/useSheetController.js +0 -39
  93. package/dist/cjs/useSheetController.js.map +0 -6
  94. package/dist/cjs/useSheetOffscreenSize.js +0 -43
  95. package/dist/cjs/useSheetOffscreenSize.js.map +0 -6
  96. package/dist/cjs/useSheetOpenState.js +0 -37
  97. package/dist/cjs/useSheetOpenState.js.map +0 -6
  98. package/dist/cjs/useSheetProviderProps.js +0 -130
  99. package/dist/cjs/useSheetProviderProps.js.map +0 -6
  100. package/dist/cjs/useSheetScrollViewGestures.js +0 -102
  101. package/dist/cjs/useSheetScrollViewGestures.js.map +0 -6
  102. package/dist/esm/GestureDetectorWrapper.js +0 -15
  103. package/dist/esm/GestureDetectorWrapper.js.map +0 -6
  104. package/dist/esm/GestureSheetContext.js +0 -28
  105. package/dist/esm/GestureSheetContext.js.map +0 -6
  106. package/dist/esm/Sheet.js +0 -92
  107. package/dist/esm/Sheet.js.map +0 -6
  108. package/dist/esm/SheetContext.js +0 -13
  109. package/dist/esm/SheetContext.js.map +0 -6
  110. package/dist/esm/SheetController.js +0 -31
  111. package/dist/esm/SheetController.js.map +0 -6
  112. package/dist/esm/SheetImplementationCustom.js +0 -395
  113. package/dist/esm/SheetImplementationCustom.js.map +0 -6
  114. package/dist/esm/SheetScrollView.js +0 -122
  115. package/dist/esm/SheetScrollView.js.map +0 -6
  116. package/dist/esm/constants.js +0 -8
  117. package/dist/esm/constants.js.map +0 -6
  118. package/dist/esm/contexts.js +0 -9
  119. package/dist/esm/contexts.js.map +0 -6
  120. package/dist/esm/controller.js +0 -11
  121. package/dist/esm/controller.js.map +0 -6
  122. package/dist/esm/createSheet.js +0 -153
  123. package/dist/esm/createSheet.js.map +0 -6
  124. package/dist/esm/gestureState.js +0 -18
  125. package/dist/esm/gestureState.js.map +0 -6
  126. package/dist/esm/helpers.js +0 -10
  127. package/dist/esm/helpers.js.map +0 -6
  128. package/dist/esm/nativeSheet.js +0 -46
  129. package/dist/esm/nativeSheet.js.map +0 -6
  130. package/dist/esm/setupGestureHandler.js +0 -22
  131. package/dist/esm/setupGestureHandler.js.map +0 -6
  132. package/dist/esm/types.js +0 -1
  133. package/dist/esm/types.js.map +0 -6
  134. package/dist/esm/useGestureHandlerPan.js +0 -111
  135. package/dist/esm/useGestureHandlerPan.js.map +0 -6
  136. package/dist/esm/useKeyboardControllerSheet.js +0 -18
  137. package/dist/esm/useKeyboardControllerSheet.js.map +0 -6
  138. package/dist/esm/useSheet.js +0 -6
  139. package/dist/esm/useSheet.js.map +0 -6
  140. package/dist/esm/useSheetController.js +0 -15
  141. package/dist/esm/useSheetController.js.map +0 -6
  142. package/dist/esm/useSheetOffscreenSize.js +0 -27
  143. package/dist/esm/useSheetOffscreenSize.js.map +0 -6
  144. package/dist/esm/useSheetOpenState.js +0 -22
  145. package/dist/esm/useSheetOpenState.js.map +0 -6
  146. package/dist/esm/useSheetProviderProps.js +0 -109
  147. package/dist/esm/useSheetProviderProps.js.map +0 -6
  148. package/dist/esm/useSheetScrollViewGestures.js +0 -86
  149. package/dist/esm/useSheetScrollViewGestures.js.map +0 -6
  150. package/dist/jsx/GestureDetectorWrapper.js +0 -15
  151. package/dist/jsx/GestureDetectorWrapper.js.map +0 -6
  152. package/dist/jsx/GestureSheetContext.js +0 -28
  153. package/dist/jsx/GestureSheetContext.js.map +0 -6
  154. package/dist/jsx/Sheet.js +0 -92
  155. package/dist/jsx/Sheet.js.map +0 -6
  156. package/dist/jsx/SheetContext.js +0 -13
  157. package/dist/jsx/SheetContext.js.map +0 -6
  158. package/dist/jsx/SheetController.js +0 -31
  159. package/dist/jsx/SheetController.js.map +0 -6
  160. package/dist/jsx/SheetImplementationCustom.js +0 -395
  161. package/dist/jsx/SheetImplementationCustom.js.map +0 -6
  162. package/dist/jsx/SheetScrollView.js +0 -122
  163. package/dist/jsx/SheetScrollView.js.map +0 -6
  164. package/dist/jsx/constants.js +0 -8
  165. package/dist/jsx/constants.js.map +0 -6
  166. package/dist/jsx/contexts.js +0 -9
  167. package/dist/jsx/contexts.js.map +0 -6
  168. package/dist/jsx/controller.js +0 -11
  169. package/dist/jsx/controller.js.map +0 -6
  170. package/dist/jsx/createSheet.js +0 -153
  171. package/dist/jsx/createSheet.js.map +0 -6
  172. package/dist/jsx/gestureState.js +0 -18
  173. package/dist/jsx/gestureState.js.map +0 -6
  174. package/dist/jsx/helpers.js +0 -10
  175. package/dist/jsx/helpers.js.map +0 -6
  176. package/dist/jsx/nativeSheet.js +0 -46
  177. package/dist/jsx/nativeSheet.js.map +0 -6
  178. package/dist/jsx/setupGestureHandler.js +0 -22
  179. package/dist/jsx/setupGestureHandler.js.map +0 -6
  180. package/dist/jsx/types.js +0 -1
  181. package/dist/jsx/types.js.map +0 -6
  182. package/dist/jsx/useGestureHandlerPan.js +0 -111
  183. package/dist/jsx/useGestureHandlerPan.js.map +0 -6
  184. package/dist/jsx/useKeyboardControllerSheet.js +0 -18
  185. package/dist/jsx/useKeyboardControllerSheet.js.map +0 -6
  186. package/dist/jsx/useSheet.js +0 -6
  187. package/dist/jsx/useSheet.js.map +0 -6
  188. package/dist/jsx/useSheetController.js +0 -15
  189. package/dist/jsx/useSheetController.js.map +0 -6
  190. package/dist/jsx/useSheetOffscreenSize.js +0 -27
  191. package/dist/jsx/useSheetOffscreenSize.js.map +0 -6
  192. package/dist/jsx/useSheetOpenState.js +0 -22
  193. package/dist/jsx/useSheetOpenState.js.map +0 -6
  194. package/dist/jsx/useSheetProviderProps.js +0 -109
  195. package/dist/jsx/useSheetProviderProps.js.map +0 -6
  196. package/dist/jsx/useSheetScrollViewGestures.js +0 -86
  197. package/dist/jsx/useSheetScrollViewGestures.js.map +0 -6
  198. package/types/GestureDetectorWrapper.native.d.ts +0 -14
  199. package/types/GestureDetectorWrapper.native.d.ts.map +0 -1
  200. package/types/gestureState.native.d.ts +0 -12
  201. package/types/gestureState.native.d.ts.map +0 -1
  202. package/types/setupGestureHandler.native.d.ts +0 -41
  203. package/types/setupGestureHandler.native.d.ts.map +0 -1
  204. package/types/useGestureHandlerPan.native.d.ts +0 -33
  205. package/types/useGestureHandlerPan.native.d.ts.map +0 -1
  206. package/types/useSheetScrollViewGestures.web.d.ts +0 -15
  207. package/types/useSheetScrollViewGestures.web.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,14 +1,8 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "2.0.0-rc.3",
3
+ "version": "2.0.0-rc.31",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
- "files": [
7
- "src",
8
- "types",
9
- "dist",
10
- "controller"
11
- ],
12
6
  "type": "module",
13
7
  "sideEffects": [
14
8
  "*.css"
@@ -27,23 +21,17 @@
27
21
  "./package.json": "./package.json",
28
22
  ".": {
29
23
  "types": "./types/index.d.ts",
30
- "react-native": {
31
- "module": "./dist/esm/index.native.js",
32
- "import": "./dist/esm/index.native.js",
33
- "require": "./dist/cjs/index.native.js"
34
- },
24
+ "react-native": "./dist/esm/index.native.js",
25
+ "browser": "./dist/esm/index.mjs",
35
26
  "module": "./dist/esm/index.mjs",
36
27
  "import": "./dist/esm/index.mjs",
37
28
  "require": "./dist/cjs/index.cjs",
38
- "default": "./dist/cjs/index.native.js"
29
+ "default": "./dist/esm/index.mjs"
39
30
  },
40
31
  "./controller": {
41
32
  "types": "./types/controller.d.ts",
42
- "react-native": {
43
- "module": "./dist/esm/controller.native.js",
44
- "import": "./dist/esm/controller.native.js",
45
- "require": "./dist/cjs/controller.native.js"
46
- },
33
+ "react-native": "./dist/esm/controller.native.js",
34
+ "browser": "./dist/esm/controller.mjs",
47
35
  "module": "./dist/esm/controller.mjs",
48
36
  "import": "./dist/esm/controller.mjs",
49
37
  "require": "./dist/cjs/controller.cjs",
@@ -51,15 +39,12 @@
51
39
  },
52
40
  "./setup-gesture-handler": {
53
41
  "types": "./types/setupGestureHandler.d.ts",
54
- "react-native": {
55
- "types": "./types/setupGestureHandler.d.ts",
56
- "module": "./dist/esm/setupGestureHandler.native.js",
57
- "import": "./dist/esm/setupGestureHandler.native.js",
58
- "require": "./dist/cjs/setupGestureHandler.native.js"
59
- },
42
+ "react-native": "./dist/esm/setupGestureHandler.native.js",
43
+ "browser": "./dist/esm/setupGestureHandler.mjs",
60
44
  "module": "./dist/esm/setupGestureHandler.mjs",
61
45
  "import": "./dist/esm/setupGestureHandler.mjs",
62
- "require": "./dist/cjs/setupGestureHandler.cjs"
46
+ "require": "./dist/cjs/setupGestureHandler.cjs",
47
+ "default": "./dist/esm/setupGestureHandler.mjs"
63
48
  }
64
49
  },
65
50
  "publishConfig": {
@@ -71,30 +56,30 @@
71
56
  "clean": "tamagui-build clean"
72
57
  },
73
58
  "dependencies": {
74
- "@tamagui/adapt": "2.0.0-rc.3",
75
- "@tamagui/animate-presence": "2.0.0-rc.3",
76
- "@tamagui/animations-react-native": "2.0.0-rc.3",
77
- "@tamagui/compose-refs": "2.0.0-rc.3",
78
- "@tamagui/constants": "2.0.0-rc.3",
79
- "@tamagui/core": "2.0.0-rc.3",
80
- "@tamagui/create-context": "2.0.0-rc.3",
81
- "@tamagui/helpers": "2.0.0-rc.3",
82
- "@tamagui/native": "2.0.0-rc.3",
83
- "@tamagui/portal": "2.0.0-rc.3",
84
- "@tamagui/remove-scroll": "2.0.0-rc.3",
85
- "@tamagui/scroll-view": "2.0.0-rc.3",
86
- "@tamagui/stacks": "2.0.0-rc.3",
87
- "@tamagui/use-constant": "2.0.0-rc.3",
88
- "@tamagui/use-controllable-state": "2.0.0-rc.3",
89
- "@tamagui/use-did-finish-ssr": "2.0.0-rc.3",
90
- "@tamagui/use-keyboard-visible": "2.0.0-rc.3",
91
- "@tamagui/z-index-stack": "2.0.0-rc.3"
59
+ "@tamagui/adapt": "2.0.0-rc.31",
60
+ "@tamagui/animate-presence": "2.0.0-rc.31",
61
+ "@tamagui/animations-react-native": "2.0.0-rc.31",
62
+ "@tamagui/compose-refs": "2.0.0-rc.31",
63
+ "@tamagui/constants": "2.0.0-rc.31",
64
+ "@tamagui/core": "2.0.0-rc.31",
65
+ "@tamagui/create-context": "2.0.0-rc.31",
66
+ "@tamagui/helpers": "2.0.0-rc.31",
67
+ "@tamagui/native": "2.0.0-rc.31",
68
+ "@tamagui/portal": "2.0.0-rc.31",
69
+ "@tamagui/remove-scroll": "2.0.0-rc.31",
70
+ "@tamagui/scroll-view": "2.0.0-rc.31",
71
+ "@tamagui/stacks": "2.0.0-rc.31",
72
+ "@tamagui/use-constant": "2.0.0-rc.31",
73
+ "@tamagui/use-controllable-state": "2.0.0-rc.31",
74
+ "@tamagui/use-did-finish-ssr": "2.0.0-rc.31",
75
+ "@tamagui/use-keyboard-visible": "2.0.0-rc.31",
76
+ "@tamagui/z-index-stack": "2.0.0-rc.31"
92
77
  },
93
78
  "devDependencies": {
94
- "@tamagui/build": "2.0.0-rc.3",
79
+ "@tamagui/build": "2.0.0-rc.31",
95
80
  "react": ">=19",
96
- "react-native": "0.81.5",
97
- "react-native-gesture-handler": "~2.28.0"
81
+ "react-native": "0.83.2",
82
+ "react-native-gesture-handler": "~2.30.0"
98
83
  },
99
84
  "peerDependencies": {
100
85
  "react": ">=19",
@@ -0,0 +1,2 @@
1
+ // compat with tamagui static compiler
2
+ Object.assign(module.exports, require('../dist/cjs/setupGestureHandler.cjs'))
@@ -0,0 +1,2 @@
1
+ // compat with metro without package exports
2
+ Object.assign(module.exports, require('../dist/cjs/setupGestureHandler.cjs'))
@@ -0,0 +1,2 @@
1
+ // compat with tamagui static compiler
2
+ Object.assign(module.exports, require('../dist/cjs/setupGestureHandler.cjs'))
@@ -0,0 +1,2 @@
1
+ // compat with metro without package exports
2
+ Object.assign(module.exports, require('../dist/cjs/setupGestureHandler.cjs'))
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('./dist/cjs/setupGestureHandler.cjs'))
@@ -5,7 +5,6 @@ import { isWeb, useIsomorphicLayoutEffect } from '@tamagui/constants'
5
5
  import {
6
6
  LayoutMeasurementController,
7
7
  View as TamaguiView,
8
- Theme,
9
8
  useConfiguration,
10
9
  useDidFinishSSR,
11
10
  useEvent,
@@ -61,6 +60,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
61
60
  unmountChildrenWhenHidden = false,
62
61
  portalProps,
63
62
  containerComponent: ContainerComponent = React.Fragment,
63
+ onAnimationComplete,
64
64
  } = props
65
65
 
66
66
  const state = useSheetOpenState(props)
@@ -83,6 +83,8 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
83
83
  maxSnapPoint,
84
84
  } = providerProps
85
85
  const { open, controller, isHidden } = state
86
+ const openRef = React.useRef(open)
87
+ openRef.current = open
86
88
 
87
89
  const sheetRef = React.useRef<View>(undefined as unknown as View)
88
90
  const ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef as any)
@@ -254,6 +256,9 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
254
256
 
255
257
  const hasScrollView = React.useRef(false)
256
258
 
259
+ // safety fallback timer for sheet close opacity
260
+ const opacityFallbackTimer = React.useRef<ReturnType<typeof setTimeout> | null>(null)
261
+
257
262
  useAnimatedNumberReaction(
258
263
  {
259
264
  value: animatedNumber,
@@ -273,6 +278,12 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
273
278
  // when reaching top, enable scroll; when leaving top, disable scroll
274
279
  // this preemptively sets scroll state before any gestures start
275
280
  if (nowAtTop) {
281
+ // if scroll drifted during drag (e.g. fast swipe from position 1),
282
+ // reset it to 0 before enabling free scroll
283
+ if (scrollBridge.y > 0) {
284
+ scrollBridge.forceScrollTo?.(0)
285
+ scrollBridge.y = 0
286
+ }
276
287
  scrollBridge.scrollLockY = undefined
277
288
  scrollBridge.setScrollEnabled?.(true)
278
289
  } else {
@@ -303,10 +314,44 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
303
314
  at.current = toValue
304
315
  stopSpring()
305
316
 
317
+ const isOpenAnimation = position !== -1 && !isHidden
318
+
319
+ // clear any pending fallback timer
320
+ if (opacityFallbackTimer.current) {
321
+ clearTimeout(opacityFallbackTimer.current)
322
+ opacityFallbackTimer.current = null
323
+ }
324
+
325
+ const animationCompleteCallback = () => {
326
+ if (opacityFallbackTimer.current) {
327
+ clearTimeout(opacityFallbackTimer.current)
328
+ opacityFallbackTimer.current = null
329
+ }
330
+ if (!isOpenAnimation && !open) {
331
+ setOpacity(0)
332
+ }
333
+ onAnimationComplete?.({ open: isOpenAnimation })
334
+ }
335
+
336
+ // safety fallback: if animation callback never fires, still hide the sheet
337
+ if (!isOpenAnimation) {
338
+ opacityFallbackTimer.current = setTimeout(() => {
339
+ opacityFallbackTimer.current = null
340
+ // check live open state via ref — sheet may have reopened (e.g. adapt handoff)
341
+ if (!openRef.current) {
342
+ setOpacity(0)
343
+ }
344
+ }, 1000)
345
+ }
346
+
306
347
  // skip animation when adapting from dialog to sheet
307
348
  if (skipAdaptAnimation.current) {
308
349
  skipAdaptAnimation.current = false
309
- animatedNumber.setValue(toValue, { type: 'timing', duration: 0 })
350
+ animatedNumber.setValue(
351
+ toValue,
352
+ { type: 'timing', duration: 0 },
353
+ animationCompleteCallback
354
+ )
310
355
  return
311
356
  }
312
357
 
@@ -315,7 +360,8 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
315
360
  animationOverride || {
316
361
  type: 'spring',
317
362
  ...transitionConfig,
318
- }
363
+ },
364
+ animationCompleteCallback
319
365
  )
320
366
  })
321
367
 
@@ -601,24 +647,21 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
601
647
  pauseKeyboardHandler,
602
648
  })
603
649
 
604
- const handleAnimationViewLayout = React.useCallback(
605
- (e: LayoutChangeEvent) => {
606
- // FIX: Don't update frameSize during exit animation to prevent position jumps
607
- if (!open && stableFrameSize.current !== 0) {
608
- return
609
- }
650
+ const handleAnimationViewLayout = useEvent((e: LayoutChangeEvent) => {
651
+ // don't update frameSize during exit animation to prevent position jumps
652
+ if (!open && stableFrameSize.current !== 0) {
653
+ return
654
+ }
610
655
 
611
- // avoid bugs where it grows forever for whatever reason
612
- // For inline mode (non-modal), don't cap at window height - use actual layout
613
- const layoutHeight = e.nativeEvent?.layout.height
614
- const next = modal
615
- ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height)
616
- : layoutHeight
617
- if (!next) return
618
- setFrameSize(next)
619
- },
620
- [open, modal]
621
- )
656
+ // avoid bugs where it grows forever for whatever reason
657
+ // For inline mode (non-modal), don't cap at window height - use actual layout
658
+ const layoutHeight = e.nativeEvent?.layout.height
659
+ const next = modal
660
+ ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height)
661
+ : layoutHeight
662
+ if (!next) return
663
+ setFrameSize(next)
664
+ })
622
665
 
623
666
  const handleMaxContentViewLayout = React.useCallback((e: LayoutChangeEvent) => {
624
667
  // avoid bugs where it grows forever for whatever reason
@@ -644,18 +687,12 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
644
687
  const [opacity, setOpacity] = React.useState(open ? 1 : 0)
645
688
  if (open && opacity === 0) {
646
689
  setOpacity(1)
647
- }
648
- React.useEffect(() => {
649
- if (!open) {
650
- // need to wait for animation complete, for now lets just do it naively
651
- const tm = setTimeout(() => {
652
- setOpacity(0)
653
- }, 400)
654
- return () => {
655
- clearTimeout(tm)
656
- }
690
+ // cancel any pending close fallback — sheet is reopening
691
+ if (opacityFallbackTimer.current) {
692
+ clearTimeout(opacityFallbackTimer.current)
693
+ opacityFallbackTimer.current = null
657
694
  }
658
- }, [open])
695
+ }
659
696
 
660
697
  const forcedContentHeight = hasFit
661
698
  ? undefined
@@ -763,13 +800,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
763
800
  if (modal) {
764
801
  const modalContents = (
765
802
  <Portal stackZIndex={zIndex} {...portalProps}>
766
- {shouldMountChildren && (
767
- <ContainerComponent>
768
- <Theme contain forceClassName name={themeName}>
769
- {contents}
770
- </Theme>
771
- </ContainerComponent>
772
- )}
803
+ {shouldMountChildren && <ContainerComponent>{contents}</ContainerComponent>}
773
804
  </Portal>
774
805
  )
775
806
 
package/src/types.tsx CHANGED
@@ -79,6 +79,11 @@ export type SheetProps = ScopedProps<
79
79
  */
80
80
  moveOnKeyboardChange?: boolean
81
81
  containerComponent?: React.ComponentType<any>
82
+
83
+ /**
84
+ * Called when the sheet open/close animation completes.
85
+ */
86
+ onAnimationComplete?: (info: { open: boolean }) => void
82
87
  },
83
88
  'Sheet'
84
89
  >
@@ -253,9 +253,11 @@ export function useGestureHandlerPan(config: GesturePanConfig): GesturePanResult
253
253
 
254
254
  if (panHandles) {
255
255
  // pan handles - disable scroll and move sheet
256
- // when not at top: lock scroll to 0 (sheet is being dragged)
257
- // when at top: lock at current position (handoff from scroll to pan)
258
- const lockTo = isCurrentlyAtTop ? undefined : 0
256
+ // when swiping down at top after scroll was engaged: lock at current scroll position
257
+ // (handoff from scroll to pan — preserve scroll offset)
258
+ // otherwise: always lock scroll to 0 (prevents scroll from firing during sheet drag)
259
+ const lockTo =
260
+ isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? undefined : 0
259
261
  scrollBridge.setScrollEnabled?.(false, lockTo)
260
262
 
261
263
  // accumulate the delta for position calculation
package/tsconfig.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "composite": true,
5
+ "strict": true
6
+ },
7
+ "references": [
8
+ {
9
+ "path": "../../core/animations-react-native"
10
+ },
11
+ {
12
+ "path": "../../core/compose-refs"
13
+ },
14
+ {
15
+ "path": "../../core/constants"
16
+ },
17
+ {
18
+ "path": "../../core/core"
19
+ },
20
+ {
21
+ "path": "../../core/create-context"
22
+ },
23
+ {
24
+ "path": "../../core/helpers"
25
+ },
26
+ {
27
+ "path": "../../core/use-constant"
28
+ },
29
+ {
30
+ "path": "../../core/use-controllable-state"
31
+ },
32
+ {
33
+ "path": "../../core/use-keyboard-visible"
34
+ },
35
+ {
36
+ "path": "../animate-presence"
37
+ },
38
+ {
39
+ "path": "../portal"
40
+ },
41
+ {
42
+ "path": "../remove-scroll"
43
+ },
44
+ {
45
+ "path": "../scroll-view"
46
+ },
47
+ {
48
+ "path": "../stacks"
49
+ }
50
+ ],
51
+ "exclude": [
52
+ "types",
53
+ "dist",
54
+ "**/__tests__"
55
+ ]
56
+ }
package/types/Sheet.d.ts CHANGED
@@ -43,6 +43,9 @@ export declare const Sheet: import("react").ForwardRefExoticComponent<{
43
43
  portalProps?: import("@tamagui/portal").PortalProps;
44
44
  moveOnKeyboardChange?: boolean;
45
45
  containerComponent?: React.ComponentType<any>;
46
+ onAnimationComplete?: (info: {
47
+ open: boolean;
48
+ }) => void;
46
49
  } & {
47
50
  __scopeSheet?: import("@tamagui/create-context").Scope<any>;
48
51
  } & import("react").RefAttributes<import("react-native").View>> & {
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;8CAmCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;8CA2BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;8CAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAA"}
1
+ {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,SAAS,CAAA;AAMvB,eAAO,MAAM,MAAM;;;;;8CAmCjB,CAAA;AAMF,eAAO,MAAM,OAAO;;;;;8CA2BlB,CAAA;AAMF,eAAO,MAAM,KAAK;;;;8CAoBhB,CAAA;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhB,CAAA"}
@@ -27,6 +27,9 @@ export declare const SheetImplementationCustom: React.ForwardRefExoticComponent<
27
27
  portalProps?: import("@tamagui/portal").PortalProps;
28
28
  moveOnKeyboardChange?: boolean;
29
29
  containerComponent?: React.ComponentType<any>;
30
+ onAnimationComplete?: (info: {
31
+ open: boolean;
32
+ }) => void;
30
33
  } & {
31
34
  __scopeSheet?: import("@tamagui/create-context").Scope<any>;
32
35
  } & React.RefAttributes<View>>;
@@ -1 +1 @@
1
- {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAA4B,IAAI,EAAE,MAAM,cAAc,CAAA;AAM7D,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAsBzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmuBrC,CAAA"}
1
+ {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAA4B,IAAI,EAAE,MAAM,cAAc,CAAA;AAM7D,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,SAAS,CAAA;AAsBzD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmwBrC,CAAA"}
@@ -37,6 +37,9 @@ export declare function createSheet<H extends TamaguiComponent | SheetStyledComp
37
37
  portalProps?: import("@tamagui/portal").PortalProps;
38
38
  moveOnKeyboardChange?: boolean;
39
39
  containerComponent?: React.ComponentType<any>;
40
+ onAnimationComplete?: (info: {
41
+ open: boolean;
42
+ }) => void;
40
43
  } & {
41
44
  __scopeSheet?: import("@tamagui/create-context").Scope<any>;
42
45
  } & RefAttributes<RNView>> & {
@@ -1 +1 @@
1
- {"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAOlD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI3D,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAE7C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiG7D;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;YAZ1C;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJ7C"}
1
+ {"version":3,"file":"createSheet.d.ts","sourceRoot":"","sources":["../src/createSheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,iCAAiC,EAElC,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAOlD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI3D,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAA;AAE7C,KAAK,oBAAoB,GAAG,iCAAiC,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1F,wBAAgB,WAAW,CACzB,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,CAAC,SAAS,gBAAgB,GAAG,oBAAoB,EACjD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiG7D;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;YAZ1C;;;;eAIG;wCACyB,OAAO;YAEnC;;;;eAIG;+CACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;QAZ1C;;;;WAIG;oCACyB,OAAO;QAEnC;;;;WAIG;2CACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJ7C"}
package/types/types.d.ts CHANGED
@@ -66,6 +66,12 @@ export type SheetProps = ScopedProps<{
66
66
  */
67
67
  moveOnKeyboardChange?: boolean;
68
68
  containerComponent?: React.ComponentType<any>;
69
+ /**
70
+ * Called when the sheet open/close animation completes.
71
+ */
72
+ onAnimationComplete?: (info: {
73
+ open: boolean;
74
+ }) => void;
69
75
  }, 'Sheet'>;
70
76
  export type PositionChangeHandler = (position: number) => void;
71
77
  type OpenChangeHandler = ((open: boolean) => void) | React.Dispatch<React.SetStateAction<boolean>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGestureHandlerPan.d.ts","sourceRoot":"","sources":["../src/useGestureHandlerPan.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAM3C,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;IACzD,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,kBAAkB,EAAE,MAAM,MAAM,CAAA;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAE1C,gBAAgB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAExC,oBAAoB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC1C;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;IACtB,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7B,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAqT/E"}
1
+ {"version":3,"file":"useGestureHandlerPan.d.ts","sourceRoot":"","sources":["../src/useGestureHandlerPan.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAM3C,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;IACzD,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,kBAAkB,EAAE,MAAM,MAAM,CAAA;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAE1C,gBAAgB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAExC,oBAAoB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC1C;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;IACtB,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7B,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAuT/E"}
@@ -1,29 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var GestureDetectorWrapper_exports = {};
16
- __export(GestureDetectorWrapper_exports, {
17
- GestureDetectorWrapper: () => GestureDetectorWrapper
18
- });
19
- module.exports = __toCommonJS(GestureDetectorWrapper_exports);
20
- var import_react_native = require("react-native-web"), import_gestureState = require("./gestureState"), import_jsx_runtime = require("react/jsx-runtime");
21
- function GestureDetectorWrapper({
22
- gesture,
23
- children,
24
- style
25
- }) {
26
- const { GestureDetector } = (0, import_gestureState.getGestureHandlerState)();
27
- return (0, import_gestureState.isGestureHandlerEnabled)() && GestureDetector && gesture ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GestureDetector, { gesture, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, { style, collapsable: !1, children }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, { style, children });
28
- }
29
- //# sourceMappingURL=GestureDetectorWrapper.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/GestureDetectorWrapper.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAqC,yBACrC,sBAAgE,2BA6BxD;AAjBD,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,QAAM,EAAE,gBAAgB,QAAI,4CAAuB;AAMnD,aALgB,6CAAwB,KAKzB,mBAAmB,UAK9B,4CAAC,mBAAgB,SACf,sDAAC,4BAAK,OAAc,aAAa,IAC9B,UACH,GACF,IAKG,4CAAC,4BAAK,OAAe,UAAS;AACvC;",
5
- "names": []
6
- }
@@ -1,43 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var GestureSheetContext_exports = {};
16
- __export(GestureSheetContext_exports, {
17
- GestureSheetProvider: () => GestureSheetProvider,
18
- useGestureSheetContext: () => useGestureSheetContext
19
- });
20
- module.exports = __toCommonJS(GestureSheetContext_exports);
21
- var import_react = require("react"), import_jsx_runtime = require("react/jsx-runtime");
22
- const GestureSheetContext = (0, import_react.createContext)(null);
23
- function useGestureSheetContext() {
24
- return (0, import_react.useContext)(GestureSheetContext);
25
- }
26
- function GestureSheetProvider({
27
- children,
28
- isDragging,
29
- blockPan,
30
- setBlockPan,
31
- panGesture,
32
- panGestureRef
33
- }) {
34
- const value = {
35
- panGesture,
36
- panGestureRef,
37
- isDragging,
38
- blockPan,
39
- setBlockPan
40
- };
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GestureSheetContext.Provider, { value, children });
42
- }
43
- //# sourceMappingURL=GestureSheetContext.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/GestureSheetContext.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA0D,kBA0DtD;AAhCJ,MAAM,0BAAsB,4BAA+C,IAAI;AAExE,SAAS,yBAA0D;AACxE,aAAO,yBAAW,mBAAmB;AACvC;AAWO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA8B;AAC5B,QAAM,QAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE,4CAAC,oBAAoB,UAApB,EAA6B,OAAe,UAAS;AAE1D;",
5
- "names": []
6
- }