@swmansion/react-native-bottom-sheet 0.6.1 → 0.6.3

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.
@@ -75,7 +75,7 @@ export const useBottomSheetPanGesture = ({
75
75
  }
76
76
  if (gestureActiveIdx !== -1) {
77
77
  activeScrollableIndex.set(gestureActiveIdx);
78
- } else if (entries.length > 1) {
78
+ } else if (entries.length > 1 && activeScrollableIndex.value !== -1) {
79
79
  return;
80
80
  }
81
81
  const activeIdx = activeScrollableIndex.value;
@@ -130,16 +130,21 @@ export const useBottomSheetPanGesture = ({
130
130
  const resolvedDetents = detentsValue.value;
131
131
  const draggable = isDraggableValue.value;
132
132
  let maxDraggableTranslateY = sheetHeight.value;
133
+ let minDraggableTranslateY = 0;
133
134
  let foundDraggable = false;
134
135
  for (let i = 0; i < resolvedDetents.length; i++) {
135
136
  if (!(draggable[i] ?? true)) continue;
136
137
  const t = sheetHeight.value - (resolvedDetents[i] ?? 0);
137
- if (!foundDraggable || t > maxDraggableTranslateY) {
138
+ if (!foundDraggable) {
138
139
  maxDraggableTranslateY = t;
140
+ minDraggableTranslateY = t;
139
141
  foundDraggable = true;
142
+ } else {
143
+ if (t > maxDraggableTranslateY) maxDraggableTranslateY = t;
144
+ if (t < minDraggableTranslateY) minDraggableTranslateY = t;
140
145
  }
141
146
  }
142
- const nextTranslate = Math.min(Math.max(rawTranslate, 0), maxDraggableTranslateY);
147
+ const nextTranslate = Math.min(Math.max(rawTranslate, minDraggableTranslateY), maxDraggableTranslateY);
143
148
  translateY.set(nextTranslate);
144
149
  if (isDraggingSheet.value && rawTranslate < 0 && hasActive) {
145
150
  isDraggingSheet.set(false);
@@ -1 +1 @@
1
- {"version":3,"names":["Gesture","scheduleOnRN","measure","scrollTo","useSharedValue","findSnapTarget","useBottomSheetPanGesture","animationTarget","translateY","sheetHeight","detentsValue","isDraggableValue","currentIndex","scrollableEntries","isScrollableLocked","handleIndexChange","animateToIndex","isDraggingSheet","isDraggingFromScrollable","panStartX","panStartY","panActivated","dragStartTranslateY","activeScrollableIndex","Pan","manualActivation","onTouchesDown","event","set","touch","changedTouches","allTouches","undefined","absoluteX","absoluteY","entries","i","length","entry","layout","ref","withinX","pageX","width","withinY","pageY","height","onTouchesMove","stateManager","value","deltaX","deltaY","gestureActiveIdx","isGestureActive","activeIdx","active","scrollOffset","Math","abs","fail","activate","onBegin","NaN","onUpdate","hasActive","activeOffset","isDraggingDown","translationY","canStartDrag","isScrollableActive","rawTranslate","resolvedDetents","draggable","maxDraggableTranslateY","foundDraggable","t","nextTranslate","min","max","targetSnapIndex","targetSnapValue","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","scrollableEntries","isScrollableLocked","handleIndexChange","animateToIndex","isDraggingSheet","isDraggingFromScrollable","panStartX","panStartY","panActivated","dragStartTranslateY","activeScrollableIndex","Pan","manualActivation","onTouchesDown","event","set","touch","changedTouches","allTouches","undefined","absoluteX","absoluteY","entries","i","length","entry","layout","ref","withinX","pageX","width","withinY","pageY","height","onTouchesMove","stateManager","value","deltaX","deltaY","gestureActiveIdx","isGestureActive","activeIdx","active","scrollOffset","Math","abs","fail","activate","onBegin","NaN","onUpdate","hasActive","activeOffset","isDraggingDown","translationY","canStartDrag","isScrollableActive","rawTranslate","resolvedDetents","draggable","maxDraggableTranslateY","minDraggableTranslateY","foundDraggable","t","nextTranslate","min","max","targetSnapIndex","targetSnapValue","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 +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,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,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,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,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,uKAWtC,2BAA2B,KAAG,UAkNhC,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,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,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,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,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,uKAWtC,2BAA2B,KAAG,UAuNhC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/react-native-bottom-sheet",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
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",
@@ -101,7 +101,7 @@ export const useBottomSheetPanGesture = ({
101
101
  }
102
102
  if (gestureActiveIdx !== -1) {
103
103
  activeScrollableIndex.set(gestureActiveIdx);
104
- } else if (entries.length > 1) {
104
+ } else if (entries.length > 1 && activeScrollableIndex.value !== -1) {
105
105
  return;
106
106
  }
107
107
  const activeIdx = activeScrollableIndex.value;
@@ -166,17 +166,22 @@ export const useBottomSheetPanGesture = ({
166
166
  const resolvedDetents = detentsValue.value;
167
167
  const draggable = isDraggableValue.value;
168
168
  let maxDraggableTranslateY = sheetHeight.value;
169
+ let minDraggableTranslateY = 0;
169
170
  let foundDraggable = false;
170
171
  for (let i = 0; i < resolvedDetents.length; i++) {
171
172
  if (!(draggable[i] ?? true)) continue;
172
173
  const t = sheetHeight.value - (resolvedDetents[i] ?? 0);
173
- if (!foundDraggable || t > maxDraggableTranslateY) {
174
+ if (!foundDraggable) {
174
175
  maxDraggableTranslateY = t;
176
+ minDraggableTranslateY = t;
175
177
  foundDraggable = true;
178
+ } else {
179
+ if (t > maxDraggableTranslateY) maxDraggableTranslateY = t;
180
+ if (t < minDraggableTranslateY) minDraggableTranslateY = t;
176
181
  }
177
182
  }
178
183
  const nextTranslate = Math.min(
179
- Math.max(rawTranslate, 0),
184
+ Math.max(rawTranslate, minDraggableTranslateY),
180
185
  maxDraggableTranslateY
181
186
  );
182
187
  translateY.set(nextTranslate);