@swmansion/react-native-bottom-sheet 0.7.0-next.2 → 0.7.0-next.4

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 (58) hide show
  1. package/android/src/main/java/com/swmansion/reactnativebottomsheet/BottomSheetView.kt +4 -1
  2. package/ios/BottomSheetContentView.mm +6 -0
  3. package/ios/RNSBottomSheetHostingView.swift +44 -0
  4. package/lib/module/BottomSheet.js +101 -38
  5. package/lib/module/BottomSheet.js.map +1 -1
  6. package/lib/module/ModalBottomSheet.js +3 -7
  7. package/lib/module/ModalBottomSheet.js.map +1 -1
  8. package/lib/module/bottomSheetUtils.js +0 -2
  9. package/lib/module/bottomSheetUtils.js.map +1 -1
  10. package/lib/module/index.js +0 -3
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/typescript/src/BottomSheet.d.ts +4 -3
  13. package/lib/typescript/src/BottomSheet.d.ts.map +1 -1
  14. package/lib/typescript/src/ModalBottomSheet.d.ts +3 -6
  15. package/lib/typescript/src/ModalBottomSheet.d.ts.map +1 -1
  16. package/lib/typescript/src/bottomSheetUtils.d.ts.map +1 -1
  17. package/lib/typescript/src/index.d.ts +0 -5
  18. package/lib/typescript/src/index.d.ts.map +1 -1
  19. package/package.json +2 -8
  20. package/src/BottomSheet.tsx +144 -37
  21. package/src/ModalBottomSheet.tsx +5 -13
  22. package/src/bottomSheetUtils.ts +0 -1
  23. package/src/index.tsx +0 -5
  24. package/lib/module/BottomSheetBase.js +0 -207
  25. package/lib/module/BottomSheetBase.js.map +0 -1
  26. package/lib/module/BottomSheetContext.js +0 -13
  27. package/lib/module/BottomSheetContext.js.map +0 -1
  28. package/lib/module/BottomSheetFlatList.js +0 -6
  29. package/lib/module/BottomSheetFlatList.js.map +0 -1
  30. package/lib/module/BottomSheetScrollView.js +0 -6
  31. package/lib/module/BottomSheetScrollView.js.map +0 -1
  32. package/lib/module/bottomSheetScrollable.js +0 -35
  33. package/lib/module/bottomSheetScrollable.js.map +0 -1
  34. package/lib/module/useBottomSheetPanGesture.js +0 -202
  35. package/lib/module/useBottomSheetPanGesture.js.map +0 -1
  36. package/lib/module/useBottomSheetScrollable.js +0 -61
  37. package/lib/module/useBottomSheetScrollable.js.map +0 -1
  38. package/lib/typescript/src/BottomSheetBase.d.ts +0 -20
  39. package/lib/typescript/src/BottomSheetBase.d.ts.map +0 -1
  40. package/lib/typescript/src/BottomSheetContext.d.ts +0 -19
  41. package/lib/typescript/src/BottomSheetContext.d.ts.map +0 -1
  42. package/lib/typescript/src/BottomSheetFlatList.d.ts +0 -10
  43. package/lib/typescript/src/BottomSheetFlatList.d.ts.map +0 -1
  44. package/lib/typescript/src/BottomSheetScrollView.d.ts +0 -10
  45. package/lib/typescript/src/BottomSheetScrollView.d.ts.map +0 -1
  46. package/lib/typescript/src/bottomSheetScrollable.d.ts +0 -9
  47. package/lib/typescript/src/bottomSheetScrollable.d.ts.map +0 -1
  48. package/lib/typescript/src/useBottomSheetPanGesture.d.ts +0 -18
  49. package/lib/typescript/src/useBottomSheetPanGesture.d.ts.map +0 -1
  50. package/lib/typescript/src/useBottomSheetScrollable.d.ts +0 -13
  51. package/lib/typescript/src/useBottomSheetScrollable.d.ts.map +0 -1
  52. package/src/BottomSheetBase.tsx +0 -276
  53. package/src/BottomSheetContext.tsx +0 -33
  54. package/src/BottomSheetFlatList.tsx +0 -21
  55. package/src/BottomSheetScrollView.tsx +0 -22
  56. package/src/bottomSheetScrollable.tsx +0 -42
  57. package/src/useBottomSheetPanGesture.ts +0 -253
  58. package/src/useBottomSheetScrollable.ts +0 -68
@@ -244,7 +244,10 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
244
244
  stiffness = SpringForce.STIFFNESS_MEDIUM
245
245
  }
246
246
  setStartVelocity(velocity)
247
- addEndListener { _, _, _, _ ->
247
+ addEndListener { _, canceled, _, _ ->
248
+ if (canceled) {
249
+ return@addEndListener
250
+ }
248
251
  stopChoreographer()
249
252
  emitPosition()
250
253
  activeAnimation = null
@@ -70,4 +70,10 @@
70
70
  [self.delegate bottomSheetView:self didChangePosition:position];
71
71
  }
72
72
 
73
+ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
74
+ {
75
+ CGPoint implPoint = [self convertPoint:point toView:_impl];
76
+ return [_impl hitTest:implPoint withEvent:event];
77
+ }
78
+
73
79
  @end
@@ -28,6 +28,7 @@ public final class RNSBottomSheetHostingView: UIView {
28
28
  private var pendingIndex: Int?
29
29
  private var hasLaidOut = false
30
30
  private var isPanning = false
31
+ private var isContentInteractionDisabled = false
31
32
 
32
33
  public override init(frame: CGRect) {
33
34
  super.init(frame: frame)
@@ -40,6 +41,9 @@ public final class RNSBottomSheetHostingView: UIView {
40
41
 
41
42
  panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
42
43
  panGesture.delegate = self
44
+ panGesture.cancelsTouchesInView = true
45
+ panGesture.delaysTouchesBegan = true
46
+ panGesture.delaysTouchesEnded = true
43
47
  sheetContainer.addGestureRecognizer(panGesture)
44
48
  }
45
49
 
@@ -78,7 +82,20 @@ public final class RNSBottomSheetHostingView: UIView {
78
82
  sheetContainer.transform = CGAffineTransform(translationX: 0, y: translationY(for: targetIndex))
79
83
  }
80
84
 
85
+ private var presentedSheetFrame: CGRect {
86
+ if let presentation = sheetContainer.layer.presentation() {
87
+ return presentation.frame
88
+ }
89
+ return sheetContainer.frame
90
+ }
91
+
92
+ public override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
93
+ presentedSheetFrame.contains(point)
94
+ }
95
+
81
96
  public override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
97
+ guard self.point(inside: point, with: event) else { return nil }
98
+
82
99
  let containerPoint = convert(point, to: sheetContainer)
83
100
  guard sheetContainer.bounds.contains(containerPoint) else { return nil }
84
101
  return sheetContainer.hitTest(containerPoint, with: event)
@@ -153,6 +170,17 @@ public final class RNSBottomSheetHostingView: UIView {
153
170
  displayLink = nil
154
171
  }
155
172
 
173
+ private func setContentInteractionEnabled(_ isEnabled: Bool) {
174
+ if isContentInteractionDisabled == !isEnabled {
175
+ return
176
+ }
177
+
178
+ for subview in sheetContainer.subviews {
179
+ subview.isUserInteractionEnabled = isEnabled
180
+ }
181
+ isContentInteractionDisabled = !isEnabled
182
+ }
183
+
156
184
  @objc private func displayLinkFired() {
157
185
  emitPosition()
158
186
  }
@@ -181,6 +209,7 @@ public final class RNSBottomSheetHostingView: UIView {
181
209
  self.stopDisplayLink()
182
210
  self.emitPosition()
183
211
  self.activeAnimator = nil
212
+ self.setContentInteractionEnabled(true)
184
213
  self.eventDelegate?.bottomSheetHostingView(self, didChangeIndex: index)
185
214
  }
186
215
  animator.startAnimation()
@@ -194,6 +223,7 @@ public final class RNSBottomSheetHostingView: UIView {
194
223
  switch gesture.state {
195
224
  case .began:
196
225
  isPanning = true
226
+ setContentInteractionEnabled(false)
197
227
  gesture.setTranslation(.zero, in: self)
198
228
  if let animator = activeAnimator {
199
229
  stopDisplayLink()
@@ -221,6 +251,7 @@ public final class RNSBottomSheetHostingView: UIView {
221
251
 
222
252
  case .failed:
223
253
  isPanning = false
254
+ setContentInteractionEnabled(true)
224
255
 
225
256
  default:
226
257
  break
@@ -278,6 +309,19 @@ public final class RNSBottomSheetHostingView: UIView {
278
309
  }
279
310
 
280
311
  extension RNSBottomSheetHostingView: UIGestureRecognizerDelegate {
312
+ public func gestureRecognizer(
313
+ _ gestureRecognizer: UIGestureRecognizer,
314
+ shouldRequireFailureOf other: UIGestureRecognizer
315
+ ) -> Bool {
316
+ guard gestureRecognizer === panGesture else { return false }
317
+
318
+ if other is UITapGestureRecognizer {
319
+ return true
320
+ }
321
+
322
+ return false
323
+ }
324
+
281
325
  public func gestureRecognizer(
282
326
  _ gestureRecognizer: UIGestureRecognizer,
283
327
  shouldBeRequiredToFailBy other: UIGestureRecognizer
@@ -1,13 +1,25 @@
1
1
  "use strict";
2
2
 
3
- import { useState } from 'react';
4
- import { StyleSheet, View, useWindowDimensions } from 'react-native';
5
- import { runOnUI } from 'react-native-reanimated';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { Animated, Pressable, StyleSheet, View, useWindowDimensions } from 'react-native';
6
5
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
7
6
  import BottomSheetNativeComponent from './BottomSheetNativeComponent';
7
+ import { Portal } from "./BottomSheetProvider.js";
8
8
  import { resolveDetent } from "./bottomSheetUtils.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export { programmatic } from "./bottomSheetUtils.js";
11
+ const DefaultScrim = ({
12
+ progress,
13
+ color
14
+ }) => {
15
+ return /*#__PURE__*/_jsx(Animated.View, {
16
+ style: [StyleSheet.absoluteFill, {
17
+ flex: 1,
18
+ backgroundColor: color,
19
+ opacity: progress
20
+ }]
21
+ });
22
+ };
11
23
  export const BottomSheet = ({
12
24
  children,
13
25
  style,
@@ -15,7 +27,9 @@ export const BottomSheet = ({
15
27
  index,
16
28
  animateIn = true,
17
29
  onIndexChange,
18
- position
30
+ onPositionChange,
31
+ modal = false,
32
+ scrimColor = 'rgba(0, 0, 0, 0.5)'
19
33
  }) => {
20
34
  const {
21
35
  height: screenHeight
@@ -23,6 +37,8 @@ export const BottomSheet = ({
23
37
  const insets = useSafeAreaInsets();
24
38
  const maxHeight = screenHeight - insets.top;
25
39
  const [contentHeight, setContentHeight] = useState(0);
40
+ const currentPositionRef = useRef(0);
41
+ const scrimProgress = useRef(new Animated.Value(0)).current;
26
42
  const resolvedDetents = detents.map(detent => {
27
43
  const value = resolveDetent(detent, contentHeight, maxHeight);
28
44
  return {
@@ -36,49 +52,96 @@ export const BottomSheet = ({
36
52
  const clampedIndex = Math.max(0, Math.min(index, resolvedDetents.length - 1));
37
53
  const isCollapsed = (resolvedDetents[clampedIndex]?.height ?? 0) === 0;
38
54
  const sheetPointerEvents = isCollapsed ? 'none' : 'box-none';
55
+ const scrimPressEnabledRef = useRef(!modal || isCollapsed);
56
+ const previousIsCollapsedRef = useRef(isCollapsed);
57
+ const firstNonzeroDetent = resolvedDetents.find(detent => detent.height > 0)?.height ?? 0;
58
+ useEffect(() => {
59
+ const progress = firstNonzeroDetent <= 0 ? 0 : Math.min(1, Math.max(0, currentPositionRef.current / firstNonzeroDetent));
60
+ scrimProgress.setValue(progress);
61
+ }, [firstNonzeroDetent, scrimProgress]);
62
+ useEffect(() => {
63
+ if (!modal) {
64
+ scrimPressEnabledRef.current = true;
65
+ previousIsCollapsedRef.current = isCollapsed;
66
+ return undefined;
67
+ }
68
+ if (previousIsCollapsedRef.current && !isCollapsed) {
69
+ scrimPressEnabledRef.current = false;
70
+ previousIsCollapsedRef.current = isCollapsed;
71
+ const frame = requestAnimationFrame(() => {
72
+ scrimPressEnabledRef.current = true;
73
+ });
74
+ return () => cancelAnimationFrame(frame);
75
+ }
76
+ scrimPressEnabledRef.current = !isCollapsed;
77
+ previousIsCollapsedRef.current = isCollapsed;
78
+ return undefined;
79
+ }, [isCollapsed, modal]);
39
80
  const handleIndexChange = event => {
40
81
  onIndexChange?.(event.nativeEvent.index);
41
82
  };
42
83
  const handlePositionChange = event => {
43
- if (position !== undefined) {
44
- const height = event.nativeEvent.position;
45
- runOnUI(() => {
46
- 'worklet';
47
-
48
- position.set(height);
49
- })();
84
+ const height = event.nativeEvent.position;
85
+ currentPositionRef.current = height;
86
+ const progress = firstNonzeroDetent <= 0 ? 0 : Math.min(1, Math.max(0, height / firstNonzeroDetent));
87
+ scrimProgress.setValue(progress);
88
+ onPositionChange?.(height);
89
+ };
90
+ const closedIndex = resolvedDetents.findIndex(detent => detent.height === 0);
91
+ const handleScrimPress = () => {
92
+ if (closedIndex === -1 || clampedIndex === closedIndex || !scrimPressEnabledRef.current) {
93
+ return;
50
94
  }
95
+ onIndexChange?.(closedIndex);
51
96
  };
52
- return /*#__PURE__*/_jsx(View, {
53
- pointerEvents: "box-none",
97
+ const scrimElement = modal ? /*#__PURE__*/_jsx(DefaultScrim, {
98
+ progress: scrimProgress,
99
+ color: scrimColor
100
+ }) : null;
101
+ const sheet = /*#__PURE__*/_jsxs(Animated.View, {
54
102
  style: StyleSheet.absoluteFill,
55
- children: /*#__PURE__*/_jsx(BottomSheetNativeComponent, {
56
- pointerEvents: sheetPointerEvents,
57
- style: [{
58
- position: 'absolute',
59
- left: 0,
60
- right: 0,
61
- bottom: 0,
62
- height: maxHeight
63
- }, style],
64
- detents: resolvedDetents,
65
- index: index,
66
- animateIn: animateIn,
67
- onIndexChange: handleIndexChange,
68
- onPositionChange: handlePositionChange,
69
- children: /*#__PURE__*/_jsxs(View, {
70
- collapsable: false,
71
- style: {
72
- flex: 1
73
- },
74
- pointerEvents: "box-none",
75
- children: [children, /*#__PURE__*/_jsx(View, {
76
- onLayout: handleSentinelLayout,
77
- pointerEvents: "none"
78
- })]
103
+ pointerEvents: modal ? isCollapsed ? 'none' : 'auto' : 'box-none',
104
+ children: [modal && scrimElement !== null ? /*#__PURE__*/_jsx(Pressable, {
105
+ style: StyleSheet.absoluteFill,
106
+ onPress: handleScrimPress,
107
+ children: scrimElement
108
+ }) : null, /*#__PURE__*/_jsx(View, {
109
+ pointerEvents: "box-none",
110
+ style: StyleSheet.absoluteFill,
111
+ children: /*#__PURE__*/_jsx(BottomSheetNativeComponent, {
112
+ pointerEvents: sheetPointerEvents,
113
+ style: [{
114
+ position: 'absolute',
115
+ left: 0,
116
+ right: 0,
117
+ bottom: 0,
118
+ height: maxHeight
119
+ }, style],
120
+ detents: resolvedDetents,
121
+ index: index,
122
+ animateIn: animateIn,
123
+ onIndexChange: handleIndexChange,
124
+ onPositionChange: handlePositionChange,
125
+ children: /*#__PURE__*/_jsxs(View, {
126
+ collapsable: false,
127
+ style: {
128
+ flex: 1
129
+ },
130
+ pointerEvents: "box-none",
131
+ children: [children, /*#__PURE__*/_jsx(View, {
132
+ onLayout: handleSentinelLayout,
133
+ pointerEvents: "none"
134
+ })]
135
+ })
79
136
  })
80
- })
137
+ })]
81
138
  });
139
+ if (modal) {
140
+ return /*#__PURE__*/_jsx(Portal, {
141
+ children: sheet
142
+ });
143
+ }
144
+ return sheet;
82
145
  };
83
146
  function isDetentProgrammatic(detent) {
84
147
  if (typeof detent === 'object' && detent !== null) {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","StyleSheet","View","useWindowDimensions","runOnUI","useSafeAreaInsets","BottomSheetNativeComponent","resolveDetent","jsx","_jsx","jsxs","_jsxs","programmatic","BottomSheet","children","style","detents","index","animateIn","onIndexChange","position","height","screenHeight","insets","maxHeight","top","contentHeight","setContentHeight","resolvedDetents","map","detent","value","Math","max","min","isDetentProgrammatic","handleSentinelLayout","event","nativeEvent","layout","y","clampedIndex","length","isCollapsed","sheetPointerEvents","handleIndexChange","handlePositionChange","undefined","set","pointerEvents","absoluteFill","left","right","bottom","onPositionChange","collapsable","flex","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","sheet","pointerEvents","onPress","left","right","bottom","collapsable","onLayout"],"sourceRoot":"../../src","sources":["BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { BottomSheetBase } from "./BottomSheetBase.js";
3
+ import { BottomSheet } from "./BottomSheet.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- export const ModalBottomSheet = ({
6
- scrim,
7
- ...props
8
- }) => /*#__PURE__*/_jsx(BottomSheetBase, {
5
+ export const ModalBottomSheet = props => /*#__PURE__*/_jsx(BottomSheet, {
9
6
  ...props,
10
- modal: true,
11
- renderScrim: scrim
7
+ modal: true
12
8
  });
13
9
  //# sourceMappingURL=ModalBottomSheet.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheetBase","jsx","_jsx","ModalBottomSheet","scrim","props","modal","renderScrim"],"sourceRoot":"../../src","sources":["ModalBottomSheet.tsx"],"mappings":";;AAIA,SAASA,eAAe,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACL,GAAGC;AACkB,CAAC,kBACtBH,IAAA,CAACF,eAAe;EAAA,GAAKK,KAAK;EAAEC,KAAK;EAACC,WAAW,EAAEH;AAAM,CAAE,CACxD","ignoreList":[]}
1
+ {"version":3,"names":["BottomSheet","jsx","_jsx","ModalBottomSheet","props","modal"],"sourceRoot":"../../src","sources":["ModalBottomSheet.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAA+B,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKnE,OAAO,MAAMC,gBAAgB,GAAIC,KAA4B,iBAC3DF,IAAA,CAACF,WAAW;EAAA,GAAKI,KAAK;EAAEC,KAAK;AAAA,CAAE,CAChC","ignoreList":[]}
@@ -16,8 +16,6 @@ export const isDetentProgrammatic = detent => {
16
16
  };
17
17
  const VELOCITY_THRESHOLD = 800;
18
18
  export const findSnapTarget = (currentTranslate, velocityY, currentIndex, allPositions) => {
19
- 'worklet';
20
-
21
19
  const draggablePositions = allPositions.filter(position => position.isDraggable);
22
20
  const effectivePositions = draggablePositions.length > 0 ? draggablePositions : allPositions;
23
21
  let targetIndex = currentIndex;
@@ -1 +1 @@
1
- {"version":3,"names":["programmatic","value","detentValue","detent","isDetentProgrammatic","VELOCITY_THRESHOLD","findSnapTarget","currentTranslate","velocityY","currentIndex","allPositions","draggablePositions","filter","position","isDraggable","effectivePositions","length","targetIndex","minDistance","Infinity","distance","Math","abs","translateY","index","lowerPosition","sort","a","b","undefined","upperPosition","resolveDetent","contentHeight","maxHeight","detentValueInput","min","Error","clampIndex","detentCount","max"],"sourceRoot":"../../src","sources":["bottomSheetUtils.ts"],"mappings":";;AAMA,OAAO,MAAMA,YAAY,GAAIC,KAAkB,KAAc;EAC3DA,KAAK;EACLD,YAAY,EAAE;AAChB,CAAC,CAAC;AAEF,OAAO,MAAME,WAAW,GAAIC,MAAc,IAAkB;EAC1D,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE,OAAOA,MAAM,CAACF,KAAK;EACtE,OAAOE,MAAM;AACf,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAID,MAAc,IAAc;EAC/D,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IACjD,OAAOA,MAAM,CAACH,YAAY,KAAK,IAAI;EACrC;EACA,OAAO,KAAK;AACd,CAAC;AAED,MAAMK,kBAAkB,GAAG,GAAG;AAE9B,OAAO,MAAMC,cAAc,GAAGA,CAC5BC,gBAAwB,EACxBC,SAAiB,EACjBC,YAAoB,EACpBC,YAA2E,KACxE;EACH,SAAS;;EACT,MAAMC,kBAAkB,GAAGD,YAAY,CAACE,MAAM,CAC3CC,QAAQ,IAAKA,QAAQ,CAACC,WACzB,CAAC;EACD,MAAMC,kBAAkB,GACtBJ,kBAAkB,CAACK,MAAM,GAAG,CAAC,GAAGL,kBAAkB,GAAGD,YAAY;EAEnE,IAAIO,WAAW,GAAGR,YAAY;EAC9B,IAAIS,WAAW,GAAGC,QAAQ;EAE1B,KAAK,MAAMN,QAAQ,IAAIE,kBAAkB,EAAE;IACzC,MAAMK,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACf,gBAAgB,GAAGM,QAAQ,CAACU,UAAU,CAAC;IACjE,IAAIH,QAAQ,GAAGF,WAAW,EAAE;MAC1BA,WAAW,GAAGE,QAAQ;MACtBH,WAAW,GAAGJ,QAAQ,CAACW,KAAK;IAC9B;EACF;EAEA,IAAIH,IAAI,CAACC,GAAG,CAACd,SAAS,CAAC,GAAGH,kBAAkB,EAAE;IAC5C,IAAIG,SAAS,GAAG,CAAC,EAAE;MACjB,MAAMiB,aAAa,GAAGV,kBAAkB,CACrCH,MAAM,CAAEC,QAAQ,IAAKA,QAAQ,CAACU,UAAU,GAAGhB,gBAAgB,GAAG,CAAC,CAAC,CAChEmB,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACJ,UAAU,GAAGK,CAAC,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;MACjD,IAAIE,aAAa,KAAKI,SAAS,EAAEZ,WAAW,GAAGQ,aAAa,CAACD,KAAK;IACpE,CAAC,MAAM;MACL,MAAMM,aAAa,GAAGf,kBAAkB,CACrCH,MAAM,CAAEC,QAAQ,IAAKA,QAAQ,CAACU,UAAU,GAAGhB,gBAAgB,GAAG,CAAC,CAAC,CAChEmB,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACL,UAAU,GAAGI,CAAC,CAACJ,UAAU,CAAC,CAAC,CAAC,CAAC;MACjD,IAAIO,aAAa,KAAKD,SAAS,EAAEZ,WAAW,GAAGa,aAAa,CAACN,KAAK;IACpE;EACF;EACA,OAAOP,WAAW;AACpB,CAAC;AAED,OAAO,MAAMc,aAAa,GAAGA,CAC3B5B,MAAc,EACd6B,aAAqB,EACrBC,SAAiB,KACd;EACH,MAAMC,gBAAgB,GAAGhC,WAAW,CAACC,MAAM,CAAC;EAC5C,IAAI,OAAO+B,gBAAgB,KAAK,QAAQ,EAAE,OAAOA,gBAAgB;EACjE,IAAIA,gBAAgB,KAAK,KAAK,EAAE;IAC9B,OAAOF,aAAa,GAAG,CAAC,GAAGX,IAAI,CAACc,GAAG,CAACH,aAAa,EAAEC,SAAS,CAAC,GAAGA,SAAS;EAC3E;EACA,MAAM,IAAIG,KAAK,CAAC,qBAAqBF,gBAAgB,KAAK,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMG,UAAU,GAAGA,CAACb,KAAa,EAAEc,WAAmB,KAAK;EAChE,IAAIA,WAAW,IAAI,CAAC,EAAE,OAAO,CAAC;EAC9B,OAAOjB,IAAI,CAACc,GAAG,CAACd,IAAI,CAACkB,GAAG,CAACf,KAAK,EAAE,CAAC,CAAC,EAAEc,WAAW,GAAG,CAAC,CAAC;AACtD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["programmatic","value","detentValue","detent","isDetentProgrammatic","VELOCITY_THRESHOLD","findSnapTarget","currentTranslate","velocityY","currentIndex","allPositions","draggablePositions","filter","position","isDraggable","effectivePositions","length","targetIndex","minDistance","Infinity","distance","Math","abs","translateY","index","lowerPosition","sort","a","b","undefined","upperPosition","resolveDetent","contentHeight","maxHeight","detentValueInput","min","Error","clampIndex","detentCount","max"],"sourceRoot":"../../src","sources":["bottomSheetUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,5 @@
3
3
  export { BottomSheet } from "./BottomSheet.js";
4
4
  export { ModalBottomSheet } from "./ModalBottomSheet.js";
5
5
  export { BottomSheetProvider } from "./BottomSheetProvider.js";
6
- export { BottomSheetFlatList } from "./BottomSheetFlatList.js";
7
- export { BottomSheetScrollView } from "./BottomSheetScrollView.js";
8
6
  export { programmatic } from "./bottomSheetUtils.js";
9
- export { bottomSheetScrollable } from "./bottomSheetScrollable.js";
10
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheet","ModalBottomSheet","BottomSheetProvider","BottomSheetFlatList","BottomSheetScrollView","programmatic","bottomSheetScrollable"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,kBAAe;AAE3C,SAASC,gBAAgB,QAAQ,uBAAoB;AAErD,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,SAASC,qBAAqB,QAAQ,4BAAyB;AAG/D,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["BottomSheet","ModalBottomSheet","BottomSheetProvider","programmatic"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,kBAAe;AAE3C,SAASC,gBAAgB,QAAQ,uBAAoB;AAErD,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,SAASC,YAAY,QAAQ,uBAAoB","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
- import { type SharedValue } from 'react-native-reanimated';
4
3
  import { type Detent } from './bottomSheetUtils';
5
4
  export type { Detent, DetentValue } from './bottomSheetUtils';
6
5
  export { programmatic } from './bottomSheetUtils';
@@ -11,7 +10,9 @@ export interface BottomSheetProps {
11
10
  index: number;
12
11
  animateIn?: boolean;
13
12
  onIndexChange?: (index: number) => void;
14
- position?: SharedValue<number>;
13
+ onPositionChange?: (position: number) => void;
14
+ modal?: boolean;
15
+ scrimColor?: string;
15
16
  }
16
- export declare const BottomSheet: ({ children, style, detents, index, animateIn, onIndexChange, position, }: BottomSheetProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const BottomSheet: ({ children, style, detents, index, animateIn, onIndexChange, onPositionChange, modal, scrimColor, }: BottomSheetProps) => import("react/jsx-runtime").JSX.Element;
17
18
  //# sourceMappingURL=BottomSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAqB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIpE,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;AAElD,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,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,WAAW,GAAI,0EAQzB,gBAAgB,4CAiElB,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,4CAiJlB,CAAC"}
@@ -1,8 +1,5 @@
1
- import type { ReactNode } from 'react';
2
- import type { SharedValue } from 'react-native-reanimated';
3
- import type { BottomSheetCommonProps } from './BottomSheetBase';
4
- export interface ModalBottomSheetProps extends BottomSheetCommonProps {
5
- scrim?: (progress: SharedValue<number>) => ReactNode;
1
+ import { type BottomSheetProps } from './BottomSheet';
2
+ export interface ModalBottomSheetProps extends Omit<BottomSheetProps, 'modal'> {
6
3
  }
7
- export declare const ModalBottomSheet: ({ scrim, ...props }: ModalBottomSheetProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const ModalBottomSheet: (props: ModalBottomSheetProps) => import("react/jsx-runtime").JSX.Element;
8
5
  //# sourceMappingURL=ModalBottomSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalBottomSheet.d.ts","sourceRoot":"","sources":["../../../src/ModalBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CACtD;AAED,eAAO,MAAM,gBAAgB,GAAI,qBAG9B,qBAAqB,4CAEvB,CAAC"}
1
+ {"version":3,"file":"ModalBottomSheet.d.ts","sourceRoot":"","sources":["../../../src/ModalBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;CAAG;AAE5C,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,4CAE5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bottomSheetUtils.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzC,MAAM,MAAM,MAAM,GACd,WAAW,GACX;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,OAAO,WAAW,KAAG,MAGhD,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,WAG5C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,OAKrD,CAAC;AAIF,eAAO,MAAM,cAAc,GACzB,kBAAkB,MAAM,EACxB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,cAAc;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,WAkC5E,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,WAAW,MAAM,WAQlB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,aAAa,MAAM,WAG5D,CAAC"}
1
+ {"version":3,"file":"bottomSheetUtils.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzC,MAAM,MAAM,MAAM,GACd,WAAW,GACX;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,YAAY,GAAI,OAAO,WAAW,KAAG,MAGhD,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,WAG5C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,OAKrD,CAAC;AAIF,eAAO,MAAM,cAAc,GACzB,kBAAkB,MAAM,EACxB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,cAAc;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,WAiC5E,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,WAAW,MAAM,WAQlB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,aAAa,MAAM,WAG5D,CAAC"}
@@ -3,11 +3,6 @@ export type { BottomSheetProps } from './BottomSheet';
3
3
  export { ModalBottomSheet } from './ModalBottomSheet';
4
4
  export type { ModalBottomSheetProps } from './ModalBottomSheet';
5
5
  export { BottomSheetProvider } from './BottomSheetProvider';
6
- export { BottomSheetFlatList } from './BottomSheetFlatList';
7
- export type { BottomSheetFlatListProps } from './BottomSheetFlatList';
8
- export { BottomSheetScrollView } from './BottomSheetScrollView';
9
- export type { BottomSheetScrollViewProps } from './BottomSheetScrollView';
10
6
  export type { Detent, DetentValue } from './bottomSheetUtils';
11
7
  export { programmatic } from './bottomSheetUtils';
12
- export { bottomSheetScrollable } from './bottomSheetScrollable';
13
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,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.2",
3
+ "version": "0.7.0-next.4",
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",
@@ -72,19 +72,13 @@
72
72
  "react": "19.1.0",
73
73
  "react-native": "0.81.5",
74
74
  "react-native-builder-bob": "0.40.18",
75
- "react-native-gesture-handler": "2.28.0",
76
- "react-native-reanimated": "4.1.6",
77
75
  "react-native-safe-area-context": "5.6.2",
78
- "react-native-worklets": "0.5.1",
79
76
  "typescript": "5.9.3"
80
77
  },
81
78
  "peerDependencies": {
82
79
  "react": ">=18.0.0",
83
80
  "react-native": ">=0.76.0",
84
- "react-native-gesture-handler": ">=2.14.0",
85
- "react-native-reanimated": ">=3.16.0",
86
- "react-native-safe-area-context": ">=4.0.0",
87
- "react-native-worklets": ">=0.4.0"
81
+ "react-native-safe-area-context": ">=4.0.0"
88
82
  },
89
83
  "workspaces": [
90
84
  "example"