@lodev09/react-native-true-sheet 3.0.0-beta.16 → 3.0.0-beta.18

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 (38) hide show
  1. package/README.md +10 -3
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +45 -24
  3. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetGrabberView.kt +44 -0
  4. package/android/src/main/java/com/lodev09/truesheet/utils/ScreenUtils.kt +37 -33
  5. package/ios/TrueSheetViewController.h +1 -2
  6. package/ios/TrueSheetViewController.mm +33 -24
  7. package/ios/core/TrueSheetBlurView.mm +1 -1
  8. package/lib/module/TrueSheet.js +11 -1
  9. package/lib/module/TrueSheet.js.map +1 -1
  10. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +1 -2
  11. package/lib/module/index.js +0 -1
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/reanimated/ReanimatedTrueSheet.js +5 -4
  14. package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
  15. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js +3 -3
  16. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js.map +1 -1
  17. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  18. package/lib/typescript/src/TrueSheet.types.d.ts +3 -2
  19. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  20. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +2 -2
  21. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +0 -1
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts +2 -2
  25. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/src/TrueSheet.tsx +12 -1
  28. package/src/TrueSheet.types.ts +3 -2
  29. package/src/__mocks__/index.js +0 -5
  30. package/src/fabric/TrueSheetViewNativeComponent.ts +1 -2
  31. package/src/index.ts +0 -1
  32. package/src/reanimated/ReanimatedTrueSheet.tsx +5 -5
  33. package/src/reanimated/ReanimatedTrueSheetProvider.tsx +5 -5
  34. package/lib/module/TrueSheetGrabber.js +0 -51
  35. package/lib/module/TrueSheetGrabber.js.map +0 -1
  36. package/lib/typescript/src/TrueSheetGrabber.d.ts +0 -39
  37. package/lib/typescript/src/TrueSheetGrabber.d.ts.map +0 -1
  38. package/src/TrueSheetGrabber.tsx +0 -82
package/README.md CHANGED
@@ -24,13 +24,20 @@ The true native bottom sheet experience for your React Native Apps. 💩
24
24
 
25
25
  ### Prerequisites
26
26
 
27
- - React Native >= 0.81
28
- - New Architecture enabled (`RCT_NEW_ARCH_ENABLED=1` for iOS, `newArchEnabled=true` for Android)
27
+ - React Native >= 0.76 (Expo SDK 52+)
28
+ - New Architecture enabled (default in RN 0.76+)
29
29
 
30
- ### Install
30
+ ### Expo
31
+
32
+ ```sh
33
+ npx expo install @lodev09/react-native-true-sheet
34
+ ```
35
+
36
+ ### Bare React Native
31
37
 
32
38
  ```sh
33
39
  yarn add @lodev09/react-native-true-sheet
40
+ cd ios && pod install
34
41
  ```
35
42
 
36
43
  ## Documentation
@@ -2,11 +2,9 @@ package com.lodev09.truesheet
2
2
 
3
3
  import android.annotation.SuppressLint
4
4
  import android.graphics.Color
5
- import android.graphics.drawable.GradientDrawable
6
5
  import android.graphics.drawable.ShapeDrawable
7
6
  import android.graphics.drawable.shapes.RoundRectShape
8
7
  import android.util.TypedValue
9
- import android.view.Gravity
10
8
  import android.view.MotionEvent
11
9
  import android.view.View
12
10
  import android.view.WindowManager
@@ -26,6 +24,7 @@ import com.facebook.react.views.view.ReactViewGroup
26
24
  import com.google.android.material.bottomsheet.BottomSheetBehavior
27
25
  import com.google.android.material.bottomsheet.BottomSheetDialog
28
26
  import com.lodev09.truesheet.core.RNScreensFragmentObserver
27
+ import com.lodev09.truesheet.core.TrueSheetGrabberView
29
28
  import com.lodev09.truesheet.utils.ScreenUtils
30
29
 
31
30
  data class DetentInfo(val index: Int, val position: Float)
@@ -62,10 +61,6 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
62
61
  private const val GRABBER_TAG = "TrueSheetGrabber"
63
62
  private const val DEFAULT_MAX_WIDTH = 640 // dp
64
63
  private const val DEFAULT_CORNER_RADIUS = 16 // dp
65
- private const val GRABBER_WIDTH = 32f // dp
66
- private const val GRABBER_HEIGHT = 4f // dp
67
- private const val GRABBER_TOP_MARGIN = 16f // dp
68
- private val GRABBER_COLOR = Color.argb((0.4 * 255).toInt(), 73, 69, 79) // #49454F @ 40%
69
64
 
70
65
  /**
71
66
  * Gets the effective sheet height by subtracting headerHeight * 2.
@@ -166,6 +161,13 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
166
161
  val statusBarHeight: Int
167
162
  get() = ScreenUtils.getStatusBarHeight(reactContext)
168
163
 
164
+ /**
165
+ * The bottom inset (navigation bar height) to add to sheet height.
166
+ * This matches iOS behavior where the system adds bottom safe area inset internally.
167
+ */
168
+ private val bottomInset: Int
169
+ get() = ScreenUtils.getNavigationBarHeight(reactContext)
170
+
169
171
  /**
170
172
  * Edge-to-edge is enabled by default on API 36+, or when explicitly configured.
171
173
  */
@@ -524,21 +526,8 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
524
526
 
525
527
  if (!grabber || !draggable) return
526
528
 
527
- val grabberView = View(reactContext).apply {
529
+ val grabberView = TrueSheetGrabberView(reactContext).apply {
528
530
  tag = GRABBER_TAG
529
- layoutParams = FrameLayout.LayoutParams(
530
- GRABBER_WIDTH.dpToPx().toInt(),
531
- GRABBER_HEIGHT.dpToPx().toInt()
532
- ).apply {
533
- gravity = Gravity.CENTER_HORIZONTAL or Gravity.TOP
534
- topMargin = GRABBER_TOP_MARGIN.dpToPx().toInt()
535
- }
536
- background = GradientDrawable().apply {
537
- shape = GradientDrawable.RECTANGLE
538
- cornerRadius = (GRABBER_HEIGHT / 2).dpToPx()
539
- setColor(GRABBER_COLOR)
540
- }
541
- elevation = 1f
542
531
  }
543
532
 
544
533
  bottomSheet.addView(grabberView)
@@ -650,7 +639,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
650
639
  lastEmittedPositionPx = positionPx
651
640
  val position = positionPx.pxToDp()
652
641
  val interpolatedIndex = getInterpolatedIndexForPosition(positionPx)
653
- val detent = getDetentValueForIndex(kotlin.math.round(interpolatedIndex).toInt())
642
+ val detent = getInterpolatedDetentForPosition(positionPx)
654
643
  delegate?.viewControllerDidChangePosition(interpolatedIndex, position, detent, realtime)
655
644
  }
656
645
 
@@ -690,9 +679,38 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
690
679
  return (count - 1).toFloat()
691
680
  }
692
681
 
682
+ /**
683
+ * Calculates the interpolated detent value based on position.
684
+ * Returns the actual screen fraction, clamped to valid detent range.
685
+ */
686
+ private fun getInterpolatedDetentForPosition(positionPx: Int): Float {
687
+ // Convert position to detent fraction
688
+ val currentDetent = (screenHeight - positionPx).toFloat() / screenHeight.toFloat()
689
+
690
+ val count = detents.size
691
+ if (count == 0) return 0f
692
+
693
+ // Clamp to valid range between first and last detent
694
+ val firstDetentValue = getDetentValueForIndex(0)
695
+ val lastDetentValue = getDetentValueForIndex(count - 1)
696
+
697
+ if (currentDetent < firstDetentValue) {
698
+ // Below first detent - interpolate from 0 to first detent
699
+ if (firstDetentValue <= 0) return 0f
700
+ return maxOf(0f, currentDetent)
701
+ }
702
+
703
+ if (currentDetent > lastDetentValue) {
704
+ return lastDetentValue
705
+ }
706
+
707
+ return currentDetent
708
+ }
709
+
693
710
  /**
694
711
  * Gets the detent value (fraction) for a given index.
695
- * For auto (-1), calculates the actual fraction from content + header height.
712
+ * Returns the raw screen fraction without bottomInset for interpolation calculations.
713
+ * Note: bottomInset is only added in getDetentHeight() for actual sheet sizing.
696
714
  */
697
715
  private fun getDetentValueForIndex(index: Int): Float {
698
716
  if (index < 0 || index >= detents.size) return 0f
@@ -776,12 +794,15 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
776
794
 
777
795
  private fun getDetentHeight(detent: Double): Int {
778
796
  val height: Int = if (detent == -1.0) {
779
- contentHeight + headerHeight
797
+ // For auto detent, add bottomInset to match iOS behavior where the system
798
+ // adds bottom safe area inset internally to the sheet height
799
+ contentHeight + headerHeight + bottomInset
780
800
  } else {
781
801
  if (detent <= 0.0 || detent > 1.0) {
782
802
  throw IllegalArgumentException("TrueSheet: detent fraction ($detent) must be between 0 and 1")
783
803
  }
784
- (detent * screenHeight).toInt()
804
+ // For fractional detents, add bottomInset to match iOS behavior
805
+ (detent * screenHeight).toInt() + bottomInset
785
806
  }
786
807
 
787
808
  val maxAllowedHeight = screenHeight - sheetTopInset
@@ -0,0 +1,44 @@
1
+ package com.lodev09.truesheet.core
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.content.Context
5
+ import android.graphics.Color
6
+ import android.graphics.drawable.GradientDrawable
7
+ import android.view.Gravity
8
+ import android.view.View
9
+ import android.widget.FrameLayout
10
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
11
+
12
+ /**
13
+ * Native grabber (drag handle) view for the bottom sheet.
14
+ * Displays a small pill-shaped indicator at the top of the sheet.
15
+ */
16
+ @SuppressLint("ViewConstructor")
17
+ class TrueSheetGrabberView(context: Context) : View(context) {
18
+
19
+ companion object {
20
+ private const val GRABBER_WIDTH = 32f // dp
21
+ private const val GRABBER_HEIGHT = 4f // dp
22
+ private const val GRABBER_TOP_MARGIN = 16f // dp
23
+ private val GRABBER_COLOR = Color.argb((0.4 * 255).toInt(), 73, 69, 79) // #49454F @ 40%
24
+ }
25
+
26
+ init {
27
+ layoutParams = FrameLayout.LayoutParams(
28
+ GRABBER_WIDTH.dpToPx().toInt(),
29
+ GRABBER_HEIGHT.dpToPx().toInt()
30
+ ).apply {
31
+ gravity = Gravity.CENTER_HORIZONTAL or Gravity.TOP
32
+ topMargin = GRABBER_TOP_MARGIN.dpToPx().toInt()
33
+ }
34
+
35
+ background = GradientDrawable().apply {
36
+ shape = GradientDrawable.RECTANGLE
37
+ cornerRadius = (GRABBER_HEIGHT / 2).dpToPx()
38
+ setColor(GRABBER_COLOR)
39
+ }
40
+
41
+ // High elevation to ensure grabber appears above content views
42
+ elevation = 100f
43
+ }
44
+ }
@@ -19,6 +19,18 @@ object ScreenUtils {
19
19
  context.resources.getIdentifier(name, "dimen", "android")
20
20
  ).takeIf { it > 0 } ?: 0
21
21
 
22
+ /**
23
+ * Get the WindowInsets for API 30+, or null for older APIs
24
+ */
25
+ private fun getWindowInsets(context: ReactContext): WindowInsets? {
26
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
27
+ return context.getSystemService(WindowManager::class.java)
28
+ ?.currentWindowMetrics
29
+ ?.windowInsets
30
+ }
31
+ return null
32
+ }
33
+
22
34
  /**
23
35
  * Get the status bar height
24
36
  *
@@ -26,20 +38,29 @@ object ScreenUtils {
26
38
  * @return Status bar height in pixels
27
39
  */
28
40
  fun getStatusBarHeight(context: ReactContext): Int {
29
- // Modern approach using WindowInsets (API 30+)
30
41
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
31
- val windowManager = context.getSystemService(WindowManager::class.java)
32
- val windowMetrics = windowManager?.currentWindowMetrics
33
- val insets = windowMetrics?.windowInsets?.getInsetsIgnoringVisibility(WindowInsets.Type.statusBars())
34
- if (insets != null) {
35
- return insets.top
36
- }
42
+ getWindowInsets(context)
43
+ ?.getInsetsIgnoringVisibility(WindowInsets.Type.statusBars())
44
+ ?.let { return it.top }
37
45
  }
38
-
39
- // Fallback to legacy approach for older APIs
40
46
  return getIdentifierHeight(context, "status_bar_height")
41
47
  }
42
48
 
49
+ /**
50
+ * Get the navigation bar height (bottom inset)
51
+ *
52
+ * @param context React context
53
+ * @return Navigation bar height in pixels
54
+ */
55
+ fun getNavigationBarHeight(context: ReactContext): Int {
56
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
57
+ getWindowInsets(context)
58
+ ?.getInsetsIgnoringVisibility(WindowInsets.Type.navigationBars())
59
+ ?.let { return it.bottom }
60
+ }
61
+ return getIdentifierHeight(context, "navigation_bar_height")
62
+ }
63
+
43
64
  /**
44
65
  * Calculate the screen height
45
66
  *
@@ -55,36 +76,20 @@ object ScreenUtils {
55
76
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
56
77
  context.display?.getRealMetrics(displayMetrics)
57
78
  } else {
79
+ @Suppress("DEPRECATION")
58
80
  windowManager.defaultDisplay.getMetrics(displayMetrics)
59
81
  }
60
82
 
61
83
  val screenHeight = displayMetrics.heightPixels
62
- val statusBarHeight = getStatusBarHeight(context)
63
-
64
- val hasNavigationBar = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
65
- context.getSystemService(WindowManager::class.java)
66
- ?.currentWindowMetrics
67
- ?.windowInsets
68
- ?.isVisible(WindowInsets.Type.navigationBars()) ?: false
69
- } else {
70
- context.resources.getIdentifier("navigation_bar_height", "dimen", "android") > 0
71
- }
72
-
73
- val navigationBarHeight = if (hasNavigationBar) {
74
- getIdentifierHeight(context, "navigation_bar_height")
75
- } else {
76
- 0
77
- }
78
84
 
79
85
  return if (edgeToEdge) {
80
- // getRealMetrics includes navigation bar height
81
- // windowManager.defaultDisplay.getMetrics doesn't
82
- when (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
83
- true -> screenHeight
84
- false -> screenHeight + navigationBarHeight
86
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
87
+ screenHeight
88
+ } else {
89
+ screenHeight + getNavigationBarHeight(context)
85
90
  }
86
91
  } else {
87
- screenHeight - statusBarHeight - navigationBarHeight
92
+ screenHeight - getStatusBarHeight(context) - getNavigationBarHeight(context)
88
93
  }
89
94
  }
90
95
 
@@ -98,8 +103,7 @@ object ScreenUtils {
98
103
  val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
99
104
 
100
105
  return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
101
- val windowMetrics = windowManager.currentWindowMetrics
102
- windowMetrics.bounds.width()
106
+ windowManager.currentWindowMetrics.bounds.width()
103
107
  } else {
104
108
  val displayMetrics = DisplayMetrics()
105
109
  @Suppress("DEPRECATION")
@@ -45,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
45
45
  >
46
46
 
47
47
  @property (nonatomic, weak, nullable) id<TrueSheetViewControllerDelegate> delegate;
48
- @property (nonatomic, strong) NSArray *detents;
48
+ @property (nonatomic, strong) NSArray<NSNumber *> *detents;
49
49
  @property (nonatomic, strong, nullable) NSNumber *maxHeight;
50
50
  @property (nonatomic, strong, nullable) NSNumber *contentHeight;
51
51
  @property (nonatomic, strong, nullable) NSNumber *headerHeight;
@@ -70,7 +70,6 @@ NS_ASSUME_NONNULL_BEGIN
70
70
  - (void)updateDraggable;
71
71
  - (NSInteger)currentDetentIndex;
72
72
  - (CGFloat)currentPosition;
73
- - (CGFloat)bottomInset;
74
73
  - (CGFloat)detentValueForIndex:(NSInteger)index;
75
74
 
76
75
  @end
@@ -94,14 +94,6 @@
94
94
  return presentedView ? presentedView.frame.origin.y : 0.0;
95
95
  }
96
96
 
97
- - (CGFloat)bottomInset {
98
- if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
99
- return 0;
100
- }
101
- UIWindow *window = [WindowUtil keyWindow];
102
- return window ? window.safeAreaInsets.bottom : 0;
103
- }
104
-
105
97
  - (CGFloat)screenHeight {
106
98
  return UIScreen.mainScreen.bounds.size.height;
107
99
  }
@@ -332,10 +324,8 @@
332
324
  break;
333
325
  case UIGestureRecognizerStateEnded:
334
326
  case UIGestureRecognizerStateCancelled: {
327
+ _isDragging = NO;
335
328
  [self emitChangePositionDelegateWithPosition:self.currentPosition realtime:NO];
336
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
337
- self->_isDragging = NO;
338
- });
339
329
  break;
340
330
  }
341
331
  default:
@@ -351,8 +341,7 @@
351
341
  _lastPosition = position;
352
342
 
353
343
  CGFloat index = [self interpolatedIndexForPosition:position];
354
- NSInteger discreteIndex = (NSInteger)round(index);
355
- CGFloat detent = [self detentValueForIndex:discreteIndex];
344
+ CGFloat detent = [self interpolatedDetentForPosition:position];
356
345
  if ([self.delegate respondsToSelector:@selector(viewControllerDidChangePosition:position:detent:realtime:)]) {
357
346
  [self.delegate viewControllerDidChangePosition:index position:position detent:detent realtime:realtime];
358
347
  }
@@ -397,13 +386,38 @@
397
386
  return count - 1;
398
387
  }
399
388
 
389
+ - (CGFloat)interpolatedDetentForPosition:(CGFloat)position {
390
+ // Convert position to detent fraction: detent = (screenHeight - position) / screenHeight
391
+ CGFloat currentDetent = (self.screenHeight - position) / self.screenHeight;
392
+
393
+ NSInteger count = _detents.count;
394
+ if (count == 0)
395
+ return 0;
396
+
397
+ // Clamp to valid range between first and last detent
398
+ CGFloat firstDetentValue = [self detentValueForIndex:0];
399
+ CGFloat lastDetentValue = [self detentValueForIndex:count - 1];
400
+
401
+ if (currentDetent < firstDetentValue) {
402
+ // Below first detent - interpolate from 0 to first detent
403
+ if (firstDetentValue <= 0)
404
+ return 0;
405
+ return fmax(0, currentDetent);
406
+ }
407
+
408
+ if (currentDetent > lastDetentValue) {
409
+ return lastDetentValue;
410
+ }
411
+
412
+ return currentDetent;
413
+ }
414
+
400
415
  - (CGFloat)detentValueForIndex:(NSInteger)index {
401
416
  if (index >= 0 && index < (NSInteger)_detents.count) {
402
- CGFloat value = [_detents[index] floatValue];
417
+ CGFloat value = [_detents[index] doubleValue];
403
418
  // For auto (-1), calculate actual fraction from content + header height
404
- // Subtract bottomInset to match the actual sheet height (consistent with detent resolver)
405
419
  if (value == -1) {
406
- CGFloat autoHeight = [self.contentHeight floatValue] + [self.headerHeight floatValue] - self.bottomInset;
420
+ CGFloat autoHeight = [self.contentHeight floatValue] + [self.headerHeight floatValue];
407
421
  return autoHeight / self.screenHeight;
408
422
  }
409
423
  return value;
@@ -487,7 +501,6 @@
487
501
 
488
502
  NSMutableArray<UISheetPresentationControllerDetent *> *detents = [NSMutableArray array];
489
503
 
490
- // Subtract bottomInset to prevent iOS from adding extra bottom insets
491
504
  CGFloat autoHeight = [self.contentHeight floatValue] + [self.headerHeight floatValue];
492
505
 
493
506
  for (NSInteger index = 0; index < self.detents.count; index++) {
@@ -528,14 +541,12 @@
528
541
  return [UISheetPresentationControllerDetent mediumDetent];
529
542
  }
530
543
 
531
- CGFloat value = [detent floatValue];
544
+ CGFloat value = [detent doubleValue];
532
545
 
533
546
  // -1 represents "auto" (fit content height)
534
547
  if (value == -1) {
535
548
  if (@available(iOS 16.0, *)) {
536
- // Subtract bottomInset so position matches screenHeight - sheetHeight
537
- // iOS adds bottom safe area to sheet height internally
538
- return [self customDetentWithIdentifier:@"custom-auto" height:autoHeight - self.bottomInset];
549
+ return [self customDetentWithIdentifier:@"custom-auto" height:autoHeight];
539
550
  } else {
540
551
  return [UISheetPresentationControllerDetent mediumDetent];
541
552
  }
@@ -548,9 +559,7 @@
548
559
 
549
560
  if (@available(iOS 16.0, *)) {
550
561
  NSString *detentId = [NSString stringWithFormat:@"custom-%f", value];
551
- // Subtract bottomInset so position matches screenHeight - (detent * screenHeight)
552
- // iOS adds bottom safe area to sheet height internally
553
- CGFloat sheetHeight = value * self.screenHeight - self.bottomInset;
562
+ CGFloat sheetHeight = value * self.screenHeight;
554
563
  return [self customDetentWithIdentifier:detentId height:sheetHeight];
555
564
  } else if (value >= 0.5) {
556
565
  return [UISheetPresentationControllerDetent largeDetent];
@@ -82,7 +82,7 @@
82
82
  self.userInteractionEnabled = self.blurInteraction;
83
83
 
84
84
  // Use animator to control blur intensity
85
- __weak typeof(self) weakSelf = self;
85
+ __weak __typeof(self) weakSelf = self;
86
86
  _blurAnimator = [[UIViewPropertyAnimator alloc] initWithDuration:1.0
87
87
  curve:UIViewAnimationCurveLinear
88
88
  animations:^{
@@ -7,7 +7,7 @@ import TrueSheetContentViewNativeComponent from './fabric/TrueSheetContentViewNa
7
7
  import TrueSheetHeaderViewNativeComponent from './fabric/TrueSheetHeaderViewNativeComponent';
8
8
  import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNativeComponent';
9
9
  import TrueSheetModule from "./specs/NativeTrueSheetModule.js";
10
- import { Platform, processColor, StyleSheet, findNodeHandle } from 'react-native';
10
+ import { Platform, processColor, StyleSheet, findNodeHandle, View } from 'react-native';
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
13
13
  ios: "- You have run 'pod install'\n",
@@ -341,6 +341,9 @@ export class TrueSheet extends PureComponent {
341
341
  }), footer && /*#__PURE__*/_jsx(TrueSheetFooterViewNativeComponent, {
342
342
  style: styles.footer,
343
343
  children: /*#__PURE__*/isValidElement(footer) ? footer : /*#__PURE__*/createElement(footer)
344
+ }), Platform.OS === 'android' && grabber && draggable && /*#__PURE__*/_jsx(View, {
345
+ collapsable: false,
346
+ style: styles.grabberHitbox
344
347
  })]
345
348
  })
346
349
  });
@@ -373,6 +376,13 @@ const styles = StyleSheet.create({
373
376
  position: 'absolute',
374
377
  left: 0,
375
378
  right: 0
379
+ },
380
+ grabberHitbox: {
381
+ position: 'absolute',
382
+ top: 0,
383
+ left: 0,
384
+ right: 0,
385
+ height: 48 // Material Design 3 minimum touch target
376
386
  }
377
387
  });
378
388
  //# sourceMappingURL=TrueSheet.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","draggable","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","scrollable","pageSizing","children","style","header","footer","rest","resolvedDetents","slice","map","containerStyle","android","styles","scrollableAndroidContainer","contentStyle","scrollableContent","ref","sheetView","background","create","zIndex","position","top","left","right","bottom","flexGrow","flexBasis"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","View","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","draggable","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","scrollable","pageSizing","children","style","header","footer","rest","resolvedDetents","slice","map","containerStyle","android","styles","scrollableAndroidContainer","contentStyle","scrollableContent","ref","sheetView","background","OS","collapsable","grabberHitbox","create","zIndex","position","top","left","right","bottom","flexGrow","flexBasis","height"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,6 @@ import type {
4
4
  Double,
5
5
  Int32,
6
6
  WithDefault,
7
- Float,
8
7
  } from 'react-native/Libraries/Types/CodegenTypes';
9
8
  import { codegenNativeComponent } from 'react-native';
10
9
 
@@ -23,7 +22,7 @@ export interface PositionChangeEventPayload {
23
22
 
24
23
  export interface NativeProps extends ViewProps {
25
24
  // Array properties
26
- detents?: ReadonlyArray<Float>;
25
+ detents?: ReadonlyArray<Double>;
27
26
 
28
27
  // Number properties - use 0 as default to avoid nil insertion
29
28
  maxHeight?: WithDefault<Double, 0>;
@@ -2,6 +2,5 @@
2
2
 
3
3
  export * from "./TrueSheet.js";
4
4
  export * from "./TrueSheet.types.js";
5
- export * from "./TrueSheetGrabber.js";
6
5
  export * from "./reanimated/index.js";
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,gBAAa;AAC3B,cAAc,sBAAmB;AACjC,cAAc,uBAAoB;AAClC,cAAc,uBAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,gBAAa;AAC3B,cAAc,sBAAmB;AACjC,cAAc,uBAAc","ignoreList":[]}
@@ -58,25 +58,26 @@ export const ReanimatedTrueSheet = /*#__PURE__*/forwardRef((props, ref) => {
58
58
  const {
59
59
  animatedPosition,
60
60
  animatedIndex,
61
- detent
61
+ animatedDetent
62
62
  } = useReanimatedTrueSheet();
63
63
  const positionChangeHandler = useReanimatedPositionChangeHandler(payload => {
64
64
  'worklet';
65
65
 
66
- // Update detent directly (discrete value, not animated)
67
- detent.value = payload.detent;
68
66
  if (payload.realtime) {
69
67
  // Update directly when we have real-time values (during drag or animation tracking)
70
68
  animatedPosition.value = payload.position;
71
69
  animatedIndex.value = payload.index;
70
+ animatedDetent.value = payload.detent;
72
71
  } else {
73
- // Animate position and index when not real-time
72
+ // Animate position, index, and detent when not real-time
74
73
  if (Platform.OS === 'android') {
75
74
  animatedPosition.value = withTiming(payload.position, TIMING_CONFIG);
76
75
  animatedIndex.value = withTiming(payload.index, TIMING_CONFIG);
76
+ animatedDetent.value = withTiming(payload.detent, TIMING_CONFIG);
77
77
  } else {
78
78
  animatedPosition.value = withSpring(payload.position, SPRING_CONFIG);
79
79
  animatedIndex.value = withSpring(payload.index, SPRING_CONFIG);
80
+ animatedDetent.value = withSpring(payload.detent, SPRING_CONFIG);
80
81
  }
81
82
  }
82
83
  onPositionChange?.({
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","Animated","withSpring","withTiming","Easing","Platform","TrueSheet","useReanimatedTrueSheet","useReanimatedPositionChangeHandler","jsx","_jsx","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","TIMING_CONFIG","duration","easing","bezier","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheet","props","ref","onPositionChange","rest","animatedPosition","animatedIndex","detent","positionChangeHandler","payload","value","realtime","position","index","OS","nativeEvent"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheet.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,QAAQ,IAGbC,UAAU,EACVC,UAAU,EACVC,MAAM,QACD,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,SAAS,QAAQ,iBAAc;AAExC,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SAASC,kCAAkC,QAAQ,yCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1F,MAAMC,aAA+B,GAAG;EACtCC,OAAO,EAAE,GAAG;EACZC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE;AACrB,CAAC;AAED,MAAMC,aAA+B,GAAG;EACtCC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAEd,MAAM,CAACe,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAWD;AACA,MAAMC,iBAAiB,GAAGnB,QAAQ,CAACoB,uBAAuB,CAACf,SAAS,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgB,mBAAmB,gBAAGtB,UAAU,CAAsC,CAACuB,KAAK,EAAEC,GAAG,KAAK;EACjG,MAAM;IAAEC,gBAAgB;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAE3C,MAAM;IAAEI,gBAAgB;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGtB,sBAAsB,CAAC,CAAC;EAE5E,MAAMuB,qBAAqB,GAAGtB,kCAAkC,CAAEuB,OAAO,IAAK;IAC5E,SAAS;;IAET;IACAF,MAAM,CAACG,KAAK,GAAGD,OAAO,CAACF,MAAM;IAE7B,IAAIE,OAAO,CAACE,QAAQ,EAAE;MACpB;MACAN,gBAAgB,CAACK,KAAK,GAAGD,OAAO,CAACG,QAAQ;MACzCN,aAAa,CAACI,KAAK,GAAGD,OAAO,CAACI,KAAK;IACrC,CAAC,MAAM;MACL;MACA,IAAI9B,QAAQ,CAAC+B,EAAE,KAAK,SAAS,EAAE;QAC7BT,gBAAgB,CAACK,KAAK,GAAG7B,UAAU,CAAC4B,OAAO,CAACG,QAAQ,EAAElB,aAAa,CAAC;QACpEY,aAAa,CAACI,KAAK,GAAG7B,UAAU,CAAC4B,OAAO,CAACI,KAAK,EAAEnB,aAAa,CAAC;MAChE,CAAC,MAAM;QACLW,gBAAgB,CAACK,KAAK,GAAG9B,UAAU,CAAC6B,OAAO,CAACG,QAAQ,EAAEvB,aAAa,CAAC;QACpEiB,aAAa,CAACI,KAAK,GAAG9B,UAAU,CAAC6B,OAAO,CAACI,KAAK,EAAExB,aAAa,CAAC;MAChE;IACF;IAEAc,gBAAgB,GAAG;MAAEY,WAAW,EAAEN;IAAQ,CAAwB,CAAC;EACrE,CAAC,CAAC;EAEF,oBAAOrB,IAAA,CAACU,iBAAiB;IAACI,GAAG,EAAEA,GAAI;IAACC,gBAAgB,EAAEK,qBAAsB;IAAA,GAAKJ;EAAI,CAAG,CAAC;AAC3F,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","Animated","withSpring","withTiming","Easing","Platform","TrueSheet","useReanimatedTrueSheet","useReanimatedPositionChangeHandler","jsx","_jsx","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","TIMING_CONFIG","duration","easing","bezier","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheet","props","ref","onPositionChange","rest","animatedPosition","animatedIndex","animatedDetent","positionChangeHandler","payload","realtime","value","position","index","detent","OS","nativeEvent"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheet.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,QAAQ,IAGbC,UAAU,EACVC,UAAU,EACVC,MAAM,QACD,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,SAAS,QAAQ,iBAAc;AAExC,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SAASC,kCAAkC,QAAQ,yCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1F,MAAMC,aAA+B,GAAG;EACtCC,OAAO,EAAE,GAAG;EACZC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE;AACrB,CAAC;AAED,MAAMC,aAA+B,GAAG;EACtCC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAEd,MAAM,CAACe,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAWD;AACA,MAAMC,iBAAiB,GAAGnB,QAAQ,CAACoB,uBAAuB,CAACf,SAAS,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgB,mBAAmB,gBAAGtB,UAAU,CAAsC,CAACuB,KAAK,EAAEC,GAAG,KAAK;EACjG,MAAM;IAAEC,gBAAgB;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAE3C,MAAM;IAAEI,gBAAgB;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGtB,sBAAsB,CAAC,CAAC;EAEpF,MAAMuB,qBAAqB,GAAGtB,kCAAkC,CAAEuB,OAAO,IAAK;IAC5E,SAAS;;IAET,IAAIA,OAAO,CAACC,QAAQ,EAAE;MACpB;MACAL,gBAAgB,CAACM,KAAK,GAAGF,OAAO,CAACG,QAAQ;MACzCN,aAAa,CAACK,KAAK,GAAGF,OAAO,CAACI,KAAK;MACnCN,cAAc,CAACI,KAAK,GAAGF,OAAO,CAACK,MAAM;IACvC,CAAC,MAAM;MACL;MACA,IAAI/B,QAAQ,CAACgC,EAAE,KAAK,SAAS,EAAE;QAC7BV,gBAAgB,CAACM,KAAK,GAAG9B,UAAU,CAAC4B,OAAO,CAACG,QAAQ,EAAElB,aAAa,CAAC;QACpEY,aAAa,CAACK,KAAK,GAAG9B,UAAU,CAAC4B,OAAO,CAACI,KAAK,EAAEnB,aAAa,CAAC;QAC9Da,cAAc,CAACI,KAAK,GAAG9B,UAAU,CAAC4B,OAAO,CAACK,MAAM,EAAEpB,aAAa,CAAC;MAClE,CAAC,MAAM;QACLW,gBAAgB,CAACM,KAAK,GAAG/B,UAAU,CAAC6B,OAAO,CAACG,QAAQ,EAAEvB,aAAa,CAAC;QACpEiB,aAAa,CAACK,KAAK,GAAG/B,UAAU,CAAC6B,OAAO,CAACI,KAAK,EAAExB,aAAa,CAAC;QAC9DkB,cAAc,CAACI,KAAK,GAAG/B,UAAU,CAAC6B,OAAO,CAACK,MAAM,EAAEzB,aAAa,CAAC;MAClE;IACF;IAEAc,gBAAgB,GAAG;MAAEa,WAAW,EAAEP;IAAQ,CAAwB,CAAC;EACrE,CAAC,CAAC;EAEF,oBAAOrB,IAAA,CAACU,iBAAiB;IAACI,GAAG,EAAEA,GAAI;IAACC,gBAAgB,EAAEK,qBAAsB;IAAA,GAAKJ;EAAI,CAAG,CAAC;AAC3F,CAAC,CAAC","ignoreList":[]}
@@ -30,12 +30,12 @@ export const ReanimatedTrueSheetProvider = ({
30
30
  } = useWindowDimensions();
31
31
  const animatedPosition = useSharedValue(height);
32
32
  const animatedIndex = useSharedValue(-1);
33
- const detent = useSharedValue(0);
33
+ const animatedDetent = useSharedValue(0);
34
34
  const value = useMemo(() => ({
35
35
  animatedPosition,
36
36
  animatedIndex,
37
- detent
38
- }), [animatedPosition, animatedIndex, detent]);
37
+ animatedDetent
38
+ }), [animatedPosition, animatedIndex, animatedDetent]);
39
39
  return /*#__PURE__*/_jsx(ReanimatedTrueSheetContext.Provider, {
40
40
  value: value,
41
41
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useMemo","useWindowDimensions","useSharedValue","jsx","_jsx","ReanimatedTrueSheetContext","ReanimatedTrueSheetProvider","children","height","animatedPosition","animatedIndex","detent","value","Provider","useReanimatedTrueSheet","context","Error"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheetProvider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAwB,OAAO;AAC1E,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,cAAc,QAA0B,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmB3E,MAAMC,0BAA0B,gBAAGP,aAAa,CAAyC,IAAI,CAAC;AAM9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,2BAA2B,GAAGA,CAAC;EAAEC;AAA2C,CAAC,KAAK;EAC7F,MAAM;IAAEC;EAAO,CAAC,GAAGP,mBAAmB,CAAC,CAAC;EACxC,MAAMQ,gBAAgB,GAAGP,cAAc,CAACM,MAAM,CAAC;EAC/C,MAAME,aAAa,GAAGR,cAAc,CAAC,CAAC,CAAC,CAAC;EACxC,MAAMS,MAAM,GAAGT,cAAc,CAAC,CAAC,CAAC;EAEhC,MAAMU,KAAK,GAAGZ,OAAO,CACnB,OAAO;IACLS,gBAAgB;IAChBC,aAAa;IACbC;EACF,CAAC,CAAC,EACF,CAACF,gBAAgB,EAAEC,aAAa,EAAEC,MAAM,CAC1C,CAAC;EAED,oBACEP,IAAA,CAACC,0BAA0B,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAL,QAAA,EAC/CA;EAAQ,CAC0B,CAAC;AAE1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,sBAAsB,GAAGA,CAAA,KAAuC;EAC3E,MAAMC,OAAO,GAAGhB,UAAU,CAACM,0BAA0B,CAAC;EAEtD,IAAI,CAACU,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,4EAA4E,GAC1E,2EACJ,CAAC;EACH;EAEA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useMemo","useWindowDimensions","useSharedValue","jsx","_jsx","ReanimatedTrueSheetContext","ReanimatedTrueSheetProvider","children","height","animatedPosition","animatedIndex","animatedDetent","value","Provider","useReanimatedTrueSheet","context","Error"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheetProvider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAwB,OAAO;AAC1E,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,cAAc,QAA0B,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmB3E,MAAMC,0BAA0B,gBAAGP,aAAa,CAAyC,IAAI,CAAC;AAM9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,2BAA2B,GAAGA,CAAC;EAAEC;AAA2C,CAAC,KAAK;EAC7F,MAAM;IAAEC;EAAO,CAAC,GAAGP,mBAAmB,CAAC,CAAC;EACxC,MAAMQ,gBAAgB,GAAGP,cAAc,CAACM,MAAM,CAAC;EAC/C,MAAME,aAAa,GAAGR,cAAc,CAAC,CAAC,CAAC,CAAC;EACxC,MAAMS,cAAc,GAAGT,cAAc,CAAC,CAAC,CAAC;EAExC,MAAMU,KAAK,GAAGZ,OAAO,CACnB,OAAO;IACLS,gBAAgB;IAChBC,aAAa;IACbC;EACF,CAAC,CAAC,EACF,CAACF,gBAAgB,EAAEC,aAAa,EAAEC,cAAc,CAClD,CAAC;EAED,oBACEP,IAAA,CAACC,0BAA0B,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAL,QAAA,EAC/CA;EAAQ,CAC0B,CAAC;AAE1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,sBAAsB,GAAGA,CAAA,KAAuC;EAC3E,MAAMC,OAAO,GAAGhB,UAAU,CAACM,0BAA0B,CAAC;EAEtD,IAAI,CAACU,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,4EAA4E,GAC1E,2EACJ,CAAC;EACH;EAEA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAef,MAAM,mBAAmB,CAAC;AAwB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA+BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAwGpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAef,MAAM,mBAAmB,CAAC;AAwB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA+BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CA4GpB"}
@@ -211,11 +211,12 @@ export interface TrueSheetProps extends ViewProps {
211
211
  */
212
212
  footer?: ComponentType<unknown> | ReactElement;
213
213
  /**
214
- * Automatically pins ScrollView or FlatList to fit within the sheet's available space.
214
+ * On iOS, automatically pins ScrollView or FlatList to fit within the sheet's available space.
215
215
  * When enabled, the ScrollView's top edge will be pinned below any top sibling views,
216
216
  * and its left, right, and bottom edges will be pinned to the container.
217
217
  *
218
- * @platform ios
218
+ * On Android, it adds additional style to the content for scrollable to work.
219
+ *
219
220
  * @default false
220
221
  */
221
222
  scrollable?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ViewProps } from 'react-native';
2
- import type { DirectEventHandler, Double, Int32, WithDefault, Float } from 'react-native/Libraries/Types/CodegenTypes';
2
+ import type { DirectEventHandler, Double, Int32, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
3
3
  export interface DetentInfoEventPayload {
4
4
  index: Int32;
5
5
  position: Double;
@@ -12,7 +12,7 @@ export interface PositionChangeEventPayload {
12
12
  realtime: boolean;
13
13
  }
14
14
  export interface NativeProps extends ViewProps {
15
- detents?: ReadonlyArray<Float>;
15
+ detents?: ReadonlyArray<Double>;
16
16
  maxHeight?: WithDefault<Double, 0>;
17
17
  background?: WithDefault<Int32, 0>;
18
18
  cornerRadius?: WithDefault<Double, -1>;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from './TrueSheet';
2
2
  export * from './TrueSheet.types';
3
- export * from './TrueSheetGrabber';
4
3
  export * from './reanimated';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -12,9 +12,9 @@ export interface ReanimatedTrueSheetContextValue {
12
12
  animatedIndex: SharedValue<number>;
13
13
  /**
14
14
  * Shared value representing the current detent value (0-1 fraction of screen height).
15
- * This is the discrete value for the current/target detent index.
15
+ * Interpolates smoothly between detent values as the sheet is dragged.
16
16
  */
17
- detent: SharedValue<number>;
17
+ animatedDetent: SharedValue<number>;
18
18
  }
19
19
  export interface ReanimatedTrueSheetProviderProps {
20
20
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ReanimatedTrueSheetProvider.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/ReanimatedTrueSheetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7B;AAID,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,GAAI,cAAc,gCAAgC,4CAoBzF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,QAAO,+BAWzC,CAAC"}
1
+ {"version":3,"file":"ReanimatedTrueSheetProvider.d.ts","sourceRoot":"","sources":["../../../../src/reanimated/ReanimatedTrueSheetProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAID,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,GAAI,cAAc,gCAAgC,4CAoBzF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,QAAO,+BAWzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.0.0-beta.16",
3
+ "version": "3.0.0-beta.18",
4
4
  "description": "The true native bottom sheet experience for your React Native Apps.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
package/src/TrueSheet.tsx CHANGED
@@ -33,7 +33,7 @@ import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNati
33
33
 
34
34
  import TrueSheetModule from './specs/NativeTrueSheetModule';
35
35
 
36
- import { Platform, processColor, StyleSheet, findNodeHandle } from 'react-native';
36
+ import { Platform, processColor, StyleSheet, findNodeHandle, View } from 'react-native';
37
37
 
38
38
  const LINKING_ERROR =
39
39
  `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` +
@@ -431,6 +431,10 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
431
431
  {isValidElement(footer) ? footer : createElement(footer)}
432
432
  </TrueSheetFooterViewNativeComponent>
433
433
  )}
434
+ {/* Grabber hitbox for Android - allows dragging the sheet from the top area */}
435
+ {Platform.OS === 'android' && grabber && draggable && (
436
+ <View collapsable={false} style={styles.grabberHitbox} />
437
+ )}
434
438
  </TrueSheetContainerViewNativeComponent>
435
439
  )}
436
440
  </TrueSheetViewNativeComponent>
@@ -465,4 +469,11 @@ const styles = StyleSheet.create({
465
469
  left: 0,
466
470
  right: 0,
467
471
  },
472
+ grabberHitbox: {
473
+ position: 'absolute',
474
+ top: 0,
475
+ left: 0,
476
+ right: 0,
477
+ height: 48, // Material Design 3 minimum touch target
478
+ },
468
479
  });
@@ -257,11 +257,12 @@ export interface TrueSheetProps extends ViewProps {
257
257
  footer?: ComponentType<unknown> | ReactElement;
258
258
 
259
259
  /**
260
- * Automatically pins ScrollView or FlatList to fit within the sheet's available space.
260
+ * On iOS, automatically pins ScrollView or FlatList to fit within the sheet's available space.
261
261
  * When enabled, the ScrollView's top edge will be pinned below any top sibling views,
262
262
  * and its left, right, and bottom edges will be pinned to the container.
263
263
  *
264
- * @platform ios
264
+ * On Android, it adds additional style to the content for scrollable to work.
265
+ *
265
266
  * @default false
266
267
  */
267
268
  scrollable?: boolean;
@@ -47,11 +47,6 @@ export class ReanimatedTrueSheet extends TrueSheet {
47
47
  }
48
48
  }
49
49
 
50
- // Mock TrueSheetGrabber
51
- export const TrueSheetGrabber = ({ style, ...props }) => (
52
- <View style={style} {...props} testID="true-sheet-grabber" />
53
- );
54
-
55
50
  // Mock ReanimatedTrueSheetProvider
56
51
  export const ReanimatedTrueSheetProvider = ({ children }) => <>{children}</>;
57
52
 
@@ -4,7 +4,6 @@ import type {
4
4
  Double,
5
5
  Int32,
6
6
  WithDefault,
7
- Float,
8
7
  } from 'react-native/Libraries/Types/CodegenTypes';
9
8
  import { codegenNativeComponent } from 'react-native';
10
9
 
@@ -23,7 +22,7 @@ export interface PositionChangeEventPayload {
23
22
 
24
23
  export interface NativeProps extends ViewProps {
25
24
  // Array properties
26
- detents?: ReadonlyArray<Float>;
25
+ detents?: ReadonlyArray<Double>;
27
26
 
28
27
  // Number properties - use 0 as default to avoid nil insertion
29
28
  maxHeight?: WithDefault<Double, 0>;
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from './TrueSheet';
2
2
  export * from './TrueSheet.types';
3
- export * from './TrueSheetGrabber';
4
3
  export * from './reanimated';
@@ -70,26 +70,26 @@ const AnimatedTrueSheet = Animated.createAnimatedComponent(TrueSheet);
70
70
  export const ReanimatedTrueSheet = forwardRef<TrueSheet, ReanimatedTrueSheetProps>((props, ref) => {
71
71
  const { onPositionChange, ...rest } = props;
72
72
 
73
- const { animatedPosition, animatedIndex, detent } = useReanimatedTrueSheet();
73
+ const { animatedPosition, animatedIndex, animatedDetent } = useReanimatedTrueSheet();
74
74
 
75
75
  const positionChangeHandler = useReanimatedPositionChangeHandler((payload) => {
76
76
  'worklet';
77
77
 
78
- // Update detent directly (discrete value, not animated)
79
- detent.value = payload.detent;
80
-
81
78
  if (payload.realtime) {
82
79
  // Update directly when we have real-time values (during drag or animation tracking)
83
80
  animatedPosition.value = payload.position;
84
81
  animatedIndex.value = payload.index;
82
+ animatedDetent.value = payload.detent;
85
83
  } else {
86
- // Animate position and index when not real-time
84
+ // Animate position, index, and detent when not real-time
87
85
  if (Platform.OS === 'android') {
88
86
  animatedPosition.value = withTiming(payload.position, TIMING_CONFIG);
89
87
  animatedIndex.value = withTiming(payload.index, TIMING_CONFIG);
88
+ animatedDetent.value = withTiming(payload.detent, TIMING_CONFIG);
90
89
  } else {
91
90
  animatedPosition.value = withSpring(payload.position, SPRING_CONFIG);
92
91
  animatedIndex.value = withSpring(payload.index, SPRING_CONFIG);
92
+ animatedDetent.value = withSpring(payload.detent, SPRING_CONFIG);
93
93
  }
94
94
  }
95
95
 
@@ -14,9 +14,9 @@ export interface ReanimatedTrueSheetContextValue {
14
14
  animatedIndex: SharedValue<number>;
15
15
  /**
16
16
  * Shared value representing the current detent value (0-1 fraction of screen height).
17
- * This is the discrete value for the current/target detent index.
17
+ * Interpolates smoothly between detent values as the sheet is dragged.
18
18
  */
19
- detent: SharedValue<number>;
19
+ animatedDetent: SharedValue<number>;
20
20
  }
21
21
 
22
22
  const ReanimatedTrueSheetContext = createContext<ReanimatedTrueSheetContextValue | null>(null);
@@ -46,15 +46,15 @@ export const ReanimatedTrueSheetProvider = ({ children }: ReanimatedTrueSheetPro
46
46
  const { height } = useWindowDimensions();
47
47
  const animatedPosition = useSharedValue(height);
48
48
  const animatedIndex = useSharedValue(-1);
49
- const detent = useSharedValue(0);
49
+ const animatedDetent = useSharedValue(0);
50
50
 
51
51
  const value = useMemo(
52
52
  () => ({
53
53
  animatedPosition,
54
54
  animatedIndex,
55
- detent,
55
+ animatedDetent,
56
56
  }),
57
- [animatedPosition, animatedIndex, detent]
57
+ [animatedPosition, animatedIndex, animatedDetent]
58
58
  );
59
59
 
60
60
  return (
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- import { StyleSheet, View } from 'react-native';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const GRABBER_DEFAULT_HEIGHT = 4;
6
- const GRABBER_DEFAULT_WIDTH = 32;
7
-
8
- // M3 spec: #49454F 0.4 alpha
9
- const GRABBER_DEFAULT_COLOR = 'rgba(73,69,79,0.4)';
10
- /**
11
- * Grabber component.
12
- * Used by defualt for Android but feel free to re-use.
13
- */
14
- export const TrueSheetGrabber = props => {
15
- const {
16
- visible = true,
17
- color = GRABBER_DEFAULT_COLOR,
18
- width = GRABBER_DEFAULT_WIDTH,
19
- height = GRABBER_DEFAULT_HEIGHT,
20
- topOffset = 0,
21
- style
22
- } = props;
23
- if (!visible) return null;
24
- return /*#__PURE__*/_jsx(View, {
25
- style: [styles.wrapper, style, {
26
- height: GRABBER_DEFAULT_HEIGHT * 4,
27
- top: topOffset
28
- }],
29
- children: /*#__PURE__*/_jsx(View, {
30
- style: [styles.grabber, {
31
- height,
32
- width,
33
- backgroundColor: color
34
- }]
35
- })
36
- });
37
- };
38
- const styles = StyleSheet.create({
39
- wrapper: {
40
- position: 'absolute',
41
- alignSelf: 'center',
42
- paddingHorizontal: 12,
43
- alignItems: 'center',
44
- justifyContent: 'center',
45
- zIndex: 9999
46
- },
47
- grabber: {
48
- borderRadius: GRABBER_DEFAULT_HEIGHT / 2
49
- }
50
- });
51
- //# sourceMappingURL=TrueSheetGrabber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["StyleSheet","View","jsx","_jsx","GRABBER_DEFAULT_HEIGHT","GRABBER_DEFAULT_WIDTH","GRABBER_DEFAULT_COLOR","TrueSheetGrabber","props","visible","color","width","height","topOffset","style","styles","wrapper","top","children","grabber","backgroundColor","create","position","alignSelf","paddingHorizontal","alignItems","justifyContent","zIndex","borderRadius"],"sourceRoot":"../../src","sources":["TrueSheetGrabber.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAyD,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjG,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,qBAAqB,GAAG,EAAE;;AAEhC;AACA,MAAMC,qBAAqB,GAAG,oBAAoB;AAwClD;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,KAA4B,IAAK;EAChE,MAAM;IACJC,OAAO,GAAG,IAAI;IACdC,KAAK,GAAGJ,qBAAqB;IAC7BK,KAAK,GAAGN,qBAAqB;IAC7BO,MAAM,GAAGR,sBAAsB;IAC/BS,SAAS,GAAG,CAAC;IACbC;EACF,CAAC,GAAGN,KAAK;EAET,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACEN,IAAA,CAACF,IAAI;IAACa,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEF,KAAK,EAAE;MAAEF,MAAM,EAAER,sBAAsB,GAAG,CAAC;MAAEa,GAAG,EAAEJ;IAAU,CAAC,CAAE;IAAAK,QAAA,eAC3Ff,IAAA,CAACF,IAAI;MAACa,KAAK,EAAE,CAACC,MAAM,CAACI,OAAO,EAAE;QAAEP,MAAM;QAAED,KAAK;QAAES,eAAe,EAAEV;MAAM,CAAC;IAAE,CAAE;EAAC,CACxE,CAAC;AAEX,CAAC;AAED,MAAMK,MAAM,GAAGf,UAAU,CAACqB,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE;EACV,CAAC;EACDR,OAAO,EAAE;IACPS,YAAY,EAAExB,sBAAsB,GAAG;EACzC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- import { type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
2
- export interface TrueSheetGrabberProps {
3
- /**
4
- * Is grabber visible.
5
- * @default true
6
- */
7
- visible?: boolean;
8
- /**
9
- * Optional style that overrides the default style.
10
- */
11
- style?: StyleProp<ViewStyle>;
12
- /**
13
- * Grabber color according to M3 specs.
14
- * @default rgba(73,69,79,0.4)
15
- */
16
- color?: ColorValue;
17
- /**
18
- * Grabber height according to M3 specs.
19
- * @default 4
20
- */
21
- height?: number;
22
- /**
23
- * Grabber top position offset.
24
- *
25
- * @default 6
26
- */
27
- topOffset?: number;
28
- /**
29
- * Grabber width according to M3 specs.
30
- * @default 32
31
- */
32
- width?: number;
33
- }
34
- /**
35
- * Grabber component.
36
- * Used by defualt for Android but feel free to re-use.
37
- */
38
- export declare const TrueSheetGrabber: (props: TrueSheetGrabberProps) => import("react/jsx-runtime").JSX.Element | null;
39
- //# sourceMappingURL=TrueSheetGrabber.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrueSheetGrabber.d.ts","sourceRoot":"","sources":["../../../src/TrueSheetGrabber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQjG,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,mDAiB5D,CAAC"}
@@ -1,82 +0,0 @@
1
- import { StyleSheet, View, type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
2
-
3
- const GRABBER_DEFAULT_HEIGHT = 4;
4
- const GRABBER_DEFAULT_WIDTH = 32;
5
-
6
- // M3 spec: #49454F 0.4 alpha
7
- const GRABBER_DEFAULT_COLOR = 'rgba(73,69,79,0.4)';
8
-
9
- export interface TrueSheetGrabberProps {
10
- /**
11
- * Is grabber visible.
12
- * @default true
13
- */
14
- visible?: boolean;
15
-
16
- /**
17
- * Optional style that overrides the default style.
18
- */
19
- style?: StyleProp<ViewStyle>;
20
-
21
- /**
22
- * Grabber color according to M3 specs.
23
- * @default rgba(73,69,79,0.4)
24
- */
25
- color?: ColorValue;
26
-
27
- /**
28
- * Grabber height according to M3 specs.
29
- * @default 4
30
- */
31
- height?: number;
32
-
33
- /**
34
- * Grabber top position offset.
35
- *
36
- * @default 6
37
- */
38
- topOffset?: number;
39
-
40
- /**
41
- * Grabber width according to M3 specs.
42
- * @default 32
43
- */
44
- width?: number;
45
- }
46
-
47
- /**
48
- * Grabber component.
49
- * Used by defualt for Android but feel free to re-use.
50
- */
51
- export const TrueSheetGrabber = (props: TrueSheetGrabberProps) => {
52
- const {
53
- visible = true,
54
- color = GRABBER_DEFAULT_COLOR,
55
- width = GRABBER_DEFAULT_WIDTH,
56
- height = GRABBER_DEFAULT_HEIGHT,
57
- topOffset = 0,
58
- style,
59
- } = props;
60
-
61
- if (!visible) return null;
62
-
63
- return (
64
- <View style={[styles.wrapper, style, { height: GRABBER_DEFAULT_HEIGHT * 4, top: topOffset }]}>
65
- <View style={[styles.grabber, { height, width, backgroundColor: color }]} />
66
- </View>
67
- );
68
- };
69
-
70
- const styles = StyleSheet.create({
71
- wrapper: {
72
- position: 'absolute',
73
- alignSelf: 'center',
74
- paddingHorizontal: 12,
75
- alignItems: 'center',
76
- justifyContent: 'center',
77
- zIndex: 9999,
78
- },
79
- grabber: {
80
- borderRadius: GRABBER_DEFAULT_HEIGHT / 2,
81
- },
82
- });