@swmansion/react-native-bottom-sheet 0.4.0 → 0.5.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.
@@ -6,4 +6,5 @@ export { BottomSheetProvider } from "./BottomSheetProvider.js";
6
6
  export { BottomSheetFlatList } from "./BottomSheetFlatList.js";
7
7
  export { BottomSheetScrollView } from "./BottomSheetScrollView.js";
8
8
  export { programmatic } from "./BottomSheetBase.js";
9
+ export { useBottomSheetScrollable } from "./useBottomSheetScrollable.js";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheet","ModalBottomSheet","BottomSheetProvider","BottomSheetFlatList","BottomSheetScrollView","programmatic"],"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;AAK3D,SAASC,qBAAqB,QAAQ,4BAAyB;AAM/D,SAASC,YAAY,QAAQ,sBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["BottomSheet","ModalBottomSheet","BottomSheetProvider","BottomSheetFlatList","BottomSheetScrollView","programmatic","useBottomSheetScrollable"],"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;AAK3D,SAASC,qBAAqB,QAAQ,4BAAyB;AAM/D,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,wBAAwB,QAAQ,+BAA4B","ignoreList":[]}
@@ -21,6 +21,7 @@ export const useBottomSheetPanGesture = ({
21
21
  }) => {
22
22
  const isDraggingSheet = useSharedValue(false);
23
23
  const isDraggingFromScrollable = useSharedValue(false);
24
+ const panStartX = useSharedValue(0);
24
25
  const panStartY = useSharedValue(0);
25
26
  const panActivated = useSharedValue(false);
26
27
  const dragStartTranslateY = useSharedValue(0);
@@ -35,6 +36,7 @@ export const useBottomSheetPanGesture = ({
35
36
  isTouchWithinScrollable.set(false);
36
37
  const touch = event.changedTouches[0] ?? event.allTouches[0];
37
38
  if (touch !== undefined) {
39
+ panStartX.set(touch.absoluteX);
38
40
  panStartY.set(touch.absoluteY);
39
41
  if (hasScrollable.value) {
40
42
  const layout = measure(scrollableRef);
@@ -51,11 +53,16 @@ export const useBottomSheetPanGesture = ({
51
53
  if (panActivated.value) return;
52
54
  const touch = event.changedTouches[0] ?? event.allTouches[0];
53
55
  if (!touch) return;
56
+ const deltaX = touch.absoluteX - panStartX.value;
54
57
  const deltaY = touch.absoluteY - panStartY.value;
55
58
  if (hasScrollable.value && scrollOffset.value > 0 && isTouchWithinScrollable.value) {
56
59
  return;
57
60
  }
58
- if (deltaY > 0 || translateY.value > 0) {
61
+ if (Math.abs(deltaX) > Math.abs(deltaY)) {
62
+ stateManager.fail();
63
+ return;
64
+ }
65
+ if (Math.abs(deltaY) > Math.abs(deltaX) && (deltaY > 0 || translateY.value > 0)) {
59
66
  panActivated.set(true);
60
67
  stateManager.activate();
61
68
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Gesture","scheduleOnRN","measure","scrollTo","useSharedValue","findSnapTarget","useBottomSheetPanGesture","animationTarget","translateY","sheetHeight","detentsValue","isDraggableValue","currentIndex","scrollOffset","hasScrollable","isScrollableGestureActive","isScrollableLocked","scrollableRef","handleIndexChange","animateToIndex","isDraggingSheet","isDraggingFromScrollable","panStartY","panActivated","dragStartTranslateY","isTouchWithinScrollable","Pan","manualActivation","onTouchesDown","event","set","touch","changedTouches","allTouches","undefined","absoluteY","value","layout","withinX","absoluteX","pageX","width","withinY","pageY","height","onTouchesMove","stateManager","deltaY","activate","onBegin","NaN","onUpdate","isDraggingDown","translationY","canStartDrag","isScrollableActive","rawTranslate","nextTranslate","Math","min","max","resolvedDetentValues","draggable","targetSnapIndex","targetSnapValue","i","length","detentValue","maxSnap","onEnd","wasDragging","allPositions","map","snapIndex","index","isDraggable","targetIndex","velocityY","hasIndexChanged","shouldApplyVelocity","Number","isFinite"],"sourceRoot":"../../src","sources":["useBottomSheetPanGesture.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Gesture","scheduleOnRN","measure","scrollTo","useSharedValue","findSnapTarget","useBottomSheetPanGesture","animationTarget","translateY","sheetHeight","detentsValue","isDraggableValue","currentIndex","scrollOffset","hasScrollable","isScrollableGestureActive","isScrollableLocked","scrollableRef","handleIndexChange","animateToIndex","isDraggingSheet","isDraggingFromScrollable","panStartX","panStartY","panActivated","dragStartTranslateY","isTouchWithinScrollable","Pan","manualActivation","onTouchesDown","event","set","touch","changedTouches","allTouches","undefined","absoluteX","absoluteY","value","layout","withinX","pageX","width","withinY","pageY","height","onTouchesMove","stateManager","deltaX","deltaY","Math","abs","fail","activate","onBegin","NaN","onUpdate","isDraggingDown","translationY","canStartDrag","isScrollableActive","rawTranslate","nextTranslate","min","max","resolvedDetentValues","draggable","targetSnapIndex","targetSnapValue","i","length","detentValue","maxSnap","onEnd","wasDragging","allPositions","map","snapIndex","index","isDraggable","targetIndex","velocityY","hasIndexChanged","shouldApplyVelocity","Number","isFinite"],"sourceRoot":"../../src","sources":["useBottomSheetPanGesture.ts"],"mappings":"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","ignoreList":[]}
@@ -9,4 +9,5 @@ export { BottomSheetScrollView } from './BottomSheetScrollView';
9
9
  export type { BottomSheetScrollViewMethods, BottomSheetScrollViewProps, } from './BottomSheetScrollView';
10
10
  export type { Detent, DetentValue } from './BottomSheetBase';
11
11
  export { programmatic } from './BottomSheetBase';
12
+ export { useBottomSheetScrollable } from './useBottomSheetScrollable';
12
13
  //# 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,EACV,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,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,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBottomSheetPanGesture.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetPanGesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAIjC,UAAU,2BAA2B;IACnC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,yBAAyB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,GAAI,2NActC,2BAA2B,KAAG,UAoKhC,CAAC"}
1
+ {"version":3,"file":"useBottomSheetPanGesture.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetPanGesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAIjC,UAAU,2BAA2B;IACnC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,yBAAyB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChD,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,GAAI,2NActC,2BAA2B,KAAG,UA8KhC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/react-native-bottom-sheet",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
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",
package/src/index.tsx CHANGED
@@ -15,3 +15,4 @@ export type {
15
15
  } from './BottomSheetScrollView';
16
16
  export type { Detent, DetentValue } from './BottomSheetBase';
17
17
  export { programmatic } from './BottomSheetBase';
18
+ export { useBottomSheetScrollable } from './useBottomSheetScrollable';
@@ -44,6 +44,7 @@ export const useBottomSheetPanGesture = ({
44
44
  }: BottomSheetPanGestureParams): PanGesture => {
45
45
  const isDraggingSheet = useSharedValue(false);
46
46
  const isDraggingFromScrollable = useSharedValue(false);
47
+ const panStartX = useSharedValue(0);
47
48
  const panStartY = useSharedValue(0);
48
49
  const panActivated = useSharedValue(false);
49
50
  const dragStartTranslateY = useSharedValue(0);
@@ -60,6 +61,7 @@ export const useBottomSheetPanGesture = ({
60
61
  isTouchWithinScrollable.set(false);
61
62
  const touch = event.changedTouches[0] ?? event.allTouches[0];
62
63
  if (touch !== undefined) {
64
+ panStartX.set(touch.absoluteX);
63
65
  panStartY.set(touch.absoluteY);
64
66
  if (hasScrollable.value) {
65
67
  const layout = measure(scrollableRef);
@@ -80,6 +82,7 @@ export const useBottomSheetPanGesture = ({
80
82
  if (panActivated.value) return;
81
83
  const touch = event.changedTouches[0] ?? event.allTouches[0];
82
84
  if (!touch) return;
85
+ const deltaX = touch.absoluteX - panStartX.value;
83
86
  const deltaY = touch.absoluteY - panStartY.value;
84
87
  if (
85
88
  hasScrollable.value &&
@@ -88,7 +91,14 @@ export const useBottomSheetPanGesture = ({
88
91
  ) {
89
92
  return;
90
93
  }
91
- if (deltaY > 0 || translateY.value > 0) {
94
+ if (Math.abs(deltaX) > Math.abs(deltaY)) {
95
+ stateManager.fail();
96
+ return;
97
+ }
98
+ if (
99
+ Math.abs(deltaY) > Math.abs(deltaX) &&
100
+ (deltaY > 0 || translateY.value > 0)
101
+ ) {
92
102
  panActivated.set(true);
93
103
  stateManager.activate();
94
104
  }