@swmansion/react-native-bottom-sheet 0.7.0-next.5 → 0.7.0-next.6

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.
@@ -48,6 +48,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
48
48
 
49
49
  // Touch tracking
50
50
  private var initialTouchY = 0f
51
+ private var initialTouchX = 0f
51
52
  private var lastTouchY = 0f
52
53
  private var activePointerId = MotionEvent.INVALID_POINTER_ID
53
54
 
@@ -282,12 +283,13 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
282
283
 
283
284
  override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
284
285
  val sheetTop = sheetContainer.top + sheetContainer.translationY
285
- if (ev.y < sheetTop) {
286
+ if (ev.actionMasked == MotionEvent.ACTION_DOWN && ev.y < sheetTop) {
286
287
  return false
287
288
  }
288
289
 
289
290
  when (ev.actionMasked) {
290
291
  MotionEvent.ACTION_DOWN -> {
292
+ initialTouchX = ev.x
291
293
  initialTouchY = ev.y
292
294
  lastTouchY = ev.y
293
295
  activePointerId = ev.getPointerId(0)
@@ -296,10 +298,12 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
296
298
  if (activePointerId == MotionEvent.INVALID_POINTER_ID) return false
297
299
  val pointerIndex = ev.findPointerIndex(activePointerId)
298
300
  if (pointerIndex < 0) return false
301
+ val x = ev.getX(pointerIndex)
299
302
  val y = ev.getY(pointerIndex)
303
+ val dx = x - initialTouchX
300
304
  val dy = y - initialTouchY
301
305
 
302
- if (abs(dy) > touchSlop) {
306
+ if (abs(dy) > touchSlop && abs(dy) > abs(dx)) {
303
307
  if (!isAtMaxDraggable) {
304
308
  lastTouchY = y
305
309
  requestDisallowInterceptTouchEvent(false)
@@ -313,6 +317,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
313
317
  }
314
318
  }
315
319
  MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
320
+ initialTouchX = 0f
316
321
  activePointerId = MotionEvent.INVALID_POINTER_ID
317
322
  }
318
323
  }
@@ -321,7 +326,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
321
326
 
322
327
  override fun onTouchEvent(event: MotionEvent): Boolean {
323
328
  val sheetTop = sheetContainer.top + sheetContainer.translationY
324
- if (event.y < sheetTop) {
329
+ if (event.actionMasked == MotionEvent.ACTION_DOWN && event.y < sheetTop) {
325
330
  return false
326
331
  }
327
332
 
@@ -418,6 +423,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
418
423
  hasLaidOut = false
419
424
  isPanning = false
420
425
  initialTouchY = 0f
426
+ initialTouchX = 0f
421
427
  lastTouchY = 0f
422
428
  activePointerId = MotionEvent.INVALID_POINTER_ID
423
429
  sheetContainer.translationY = 0f
@@ -98,6 +98,14 @@ export const BottomSheet = ({
98
98
  progress: scrimProgress,
99
99
  color: scrimColor
100
100
  }) : null;
101
+
102
+ // On Android Fabric, getBoundingClientRect() is computed from the Yoga
103
+ // shadow tree, which doesn't know about the native sheetContainer's layout
104
+ // offset and translationY. This causes Pressability's bounds check to fail
105
+ // (instant pressOut). Setting `top` on the wrapper updates the shadow tree
106
+ // to match the actual visual position without affecting native layout
107
+ // (needsCustomLayoutForChildren is true on the native side).
108
+ const contentOffsetY = maxHeight - (resolvedDetents[clampedIndex]?.height ?? maxHeight);
101
109
  const sheet = /*#__PURE__*/_jsxs(Animated.View, {
102
110
  style: StyleSheet.absoluteFill,
103
111
  pointerEvents: modal ? isCollapsed ? 'none' : 'auto' : 'box-none',
@@ -125,7 +133,8 @@ export const BottomSheet = ({
125
133
  children: /*#__PURE__*/_jsxs(View, {
126
134
  collapsable: false,
127
135
  style: {
128
- flex: 1
136
+ flex: 1,
137
+ top: contentOffsetY
129
138
  },
130
139
  pointerEvents: "box-none",
131
140
  children: [children, /*#__PURE__*/_jsx(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","Animated","Pressable","StyleSheet","View","useWindowDimensions","useSafeAreaInsets","BottomSheetNativeComponent","Portal","resolveDetent","jsx","_jsx","jsxs","_jsxs","programmatic","DefaultScrim","progress","color","style","absoluteFill","flex","backgroundColor","opacity","BottomSheet","children","detents","index","animateIn","onIndexChange","onPositionChange","modal","scrimColor","height","screenHeight","insets","maxHeight","top","contentHeight","setContentHeight","currentPositionRef","scrimProgress","Value","current","resolvedDetents","map","detent","value","Math","max","min","isDetentProgrammatic","handleSentinelLayout","event","nativeEvent","layout","y","clampedIndex","length","isCollapsed","sheetPointerEvents","scrimPressEnabledRef","previousIsCollapsedRef","firstNonzeroDetent","find","setValue","undefined","frame","requestAnimationFrame","cancelAnimationFrame","handleIndexChange","handlePositionChange","position","closedIndex","findIndex","handleScrimPress","scrimElement","sheet","pointerEvents","onPress","left","right","bottom","collapsable","onLayout"],"sourceRoot":"../../src","sources":["BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","Animated","Pressable","StyleSheet","View","useWindowDimensions","useSafeAreaInsets","BottomSheetNativeComponent","Portal","resolveDetent","jsx","_jsx","jsxs","_jsxs","programmatic","DefaultScrim","progress","color","style","absoluteFill","flex","backgroundColor","opacity","BottomSheet","children","detents","index","animateIn","onIndexChange","onPositionChange","modal","scrimColor","height","screenHeight","insets","maxHeight","top","contentHeight","setContentHeight","currentPositionRef","scrimProgress","Value","current","resolvedDetents","map","detent","value","Math","max","min","isDetentProgrammatic","handleSentinelLayout","event","nativeEvent","layout","y","clampedIndex","length","isCollapsed","sheetPointerEvents","scrimPressEnabledRef","previousIsCollapsedRef","firstNonzeroDetent","find","setValue","undefined","frame","requestAnimationFrame","cancelAnimationFrame","handleIndexChange","handlePositionChange","position","closedIndex","findIndex","handleScrimPress","scrimElement","contentOffsetY","sheet","pointerEvents","onPress","left","right","bottom","collapsable","onLayout"],"sourceRoot":"../../src","sources":["BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAqB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAY5E,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmBlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,GAAI,qGAUzB,gBAAgB,4CAiJlB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAqB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAY5E,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmBlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,GAAI,qGAUzB,gBAAgB,4CA0JlB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/react-native-bottom-sheet",
3
- "version": "0.7.0-next.5",
3
+ "version": "0.7.0-next.6",
4
4
  "description": "Provides bottom-sheet components for React Native.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -152,6 +152,15 @@ export const BottomSheet = ({
152
152
  <DefaultScrim progress={scrimProgress} color={scrimColor} />
153
153
  ) : null;
154
154
 
155
+ // On Android Fabric, getBoundingClientRect() is computed from the Yoga
156
+ // shadow tree, which doesn't know about the native sheetContainer's layout
157
+ // offset and translationY. This causes Pressability's bounds check to fail
158
+ // (instant pressOut). Setting `top` on the wrapper updates the shadow tree
159
+ // to match the actual visual position without affecting native layout
160
+ // (needsCustomLayoutForChildren is true on the native side).
161
+ const contentOffsetY =
162
+ maxHeight - (resolvedDetents[clampedIndex]?.height ?? maxHeight);
163
+
155
164
  const sheet = (
156
165
  <Animated.View
157
166
  style={StyleSheet.absoluteFill}
@@ -183,7 +192,7 @@ export const BottomSheet = ({
183
192
  >
184
193
  <View
185
194
  collapsable={false}
186
- style={{ flex: 1 }}
195
+ style={{ flex: 1, top: contentOffsetY }}
187
196
  pointerEvents="box-none"
188
197
  >
189
198
  {children}