@swmansion/react-native-bottom-sheet 0.8.0-next.3 → 0.8.0-next.5

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.
@@ -140,11 +140,10 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
140
140
  val closedTy = detentSpecs.lastOrNull()?.height ?: h.toFloat()
141
141
  sheetContainer.translationY = closedTy
142
142
  emitPosition()
143
- snapToIndex(targetIndex, 0f)
143
+ snapToIndex(targetIndex, 0f, emitIndexChange = false)
144
144
  } else {
145
145
  sheetContainer.translationY = translationY(targetIndex)
146
146
  emitPosition()
147
- listener?.onIndexChange(targetIndex)
148
147
  }
149
148
  return
150
149
  }
@@ -206,7 +205,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
206
205
  }
207
206
 
208
207
  if (newIndex >= detentSpecs.size || newIndex == targetIndex) return
209
- snapToIndex(newIndex, 0f)
208
+ snapToIndex(newIndex, 0f, emitIndexChange = false)
210
209
  }
211
210
 
212
211
  fun setScrimColor(color: Int?) {
@@ -288,7 +287,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
288
287
 
289
288
  // MARK: - Spring animation
290
289
 
291
- private fun snapToIndex(index: Int, velocity: Float) {
290
+ private fun snapToIndex(index: Int, velocity: Float, emitIndexChange: Boolean = true) {
292
291
  if (index < 0 || index >= detentSpecs.size) return
293
292
  targetIndex = index
294
293
 
@@ -310,7 +309,7 @@ class BottomSheetView(context: Context) : ReactViewGroup(context) {
310
309
  emitPosition()
311
310
  activeAnimation = null
312
311
  updateInteractionState()
313
- listener?.onIndexChange(index)
312
+ if (emitIndexChange) listener?.onIndexChange(index)
314
313
  }
315
314
  }
316
315
 
@@ -112,11 +112,10 @@ public final class RNSBottomSheetHostingView: UIView {
112
112
  let closedTy = detentSpecs.last?.height ?? bounds.height
113
113
  sheetContainer.transform = CGAffineTransform(translationX: 0, y: closedTy)
114
114
  emitPosition()
115
- snapToIndex(targetIndex, velocity: 0)
115
+ snapToIndex(targetIndex, velocity: 0, emitIndexChange: false)
116
116
  } else {
117
117
  sheetContainer.transform = CGAffineTransform(translationX: 0, y: translationY(for: targetIndex))
118
118
  emitPosition()
119
- eventDelegate?.bottomSheetHostingView(self, didChangeIndex: targetIndex)
120
119
  }
121
120
  return
122
121
  }
@@ -174,7 +173,7 @@ public final class RNSBottomSheetHostingView: UIView {
174
173
  }
175
174
 
176
175
  guard newIndex < detentSpecs.count, newIndex != targetIndex else { return }
177
- snapToIndex(newIndex, velocity: 0)
176
+ snapToIndex(newIndex, velocity: 0, emitIndexChange: false)
178
177
  }
179
178
 
180
179
  public func mountChildComponentView(_ childView: UIView, atIndex index: Int) {
@@ -297,7 +296,7 @@ public final class RNSBottomSheetHostingView: UIView {
297
296
  snapToIndex(closedIndex, velocity: 0)
298
297
  }
299
298
 
300
- private func snapToIndex(_ index: Int, velocity: CGFloat) {
299
+ private func snapToIndex(_ index: Int, velocity: CGFloat, emitIndexChange: Bool = true) {
301
300
  guard index >= 0, index < detentSpecs.count else { return }
302
301
  targetIndex = index
303
302
 
@@ -323,7 +322,9 @@ public final class RNSBottomSheetHostingView: UIView {
323
322
  self.activeAnimator = nil
324
323
  self.setContentInteractionEnabled(true)
325
324
  self.updateInteractionState()
326
- self.eventDelegate?.bottomSheetHostingView(self, didChangeIndex: index)
325
+ if emitIndexChange {
326
+ self.eventDelegate?.bottomSheetHostingView(self, didChangeIndex: index)
327
+ }
327
328
  }
328
329
  animator.startAnimation()
329
330
  activeAnimator = animator
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/react-native-bottom-sheet",
3
- "version": "0.8.0-next.3",
3
+ "version": "0.8.0-next.5",
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",