@lodev09/react-native-true-sheet 3.9.0-beta.1 → 3.9.0-beta.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.
package/README.md CHANGED
@@ -3,11 +3,9 @@
3
3
  [![CI](https://github.com/lodev09/react-native-true-sheet/actions/workflows/checks.yml/badge.svg)](https://github.com/lodev09/react-native-true-sheet/actions/workflows/checks.yml)
4
4
  [![NPM Downloads](https://img.shields.io/npm/d18m/%40lodev09%2Freact-native-true-sheet)](https://www.npmjs.com/package/@lodev09/react-native-true-sheet)
5
5
 
6
- > [!NOTE]
7
- > 🎉 **Version 3.0 is here!** Completely rebuilt for Fabric with new features like automatic ScrollView detection, native headers/footers, sheet stacking, and more. [Read the announcement](https://sheet.lodev09.com/blog/release-3-0)
8
-
9
6
  The true native bottom sheet experience for your React Native Apps. 💩
10
7
 
8
+ <img alt="React Native True Sheet - iPad" src="docs/static/img/preview-ipad.gif" width="744" /><br>
11
9
  <img alt="React Native True Sheet - IOS" src="docs/static/img/preview-ios.gif" width="248" height="500" /><img alt="React Native True Sheet - Android" src="docs/static/img/preview-android.gif" width="248" height="500" /><img alt="React Native True Sheet - Web" src="docs/static/img/preview-web.gif" width="248" height="500" />
12
10
 
13
11
  ## Features
@@ -16,6 +14,7 @@ The true native bottom sheet experience for your React Native Apps. 💩
16
14
  * 🚀 **Fully Native** - Implemented in the native realm, zero JS hacks
17
15
  * ♿ **Accessible** - Native accessibility and screen reader support out of the box
18
16
  * 🔄 **Flexible API** - Use [imperative methods](https://sheet.lodev09.com/reference/methods#ref-methods) or [lifecycle events](https://sheet.lodev09.com/reference/events)
17
+ * 📐 **Side Sheets** - Native [side sheet](https://sheet.lodev09.com/guides/side-sheets) support for iPad and Android tablets
19
18
  * 🪟 **Liquid Glass** - [iOS 26+ Liquid Glass](https://sheet.lodev09.com/guides/liquid-glass) support out of the box, featured in [Expo Blog](https://expo.dev/blog/how-to-create-apple-maps-style-liquid-glass-sheets)
20
19
  * 🐎 **Reanimated** - First-class support for [react-native-reanimated](https://sheet.lodev09.com/guides/reanimated)
21
20
  * 🧭 **React Navigation** - Built-in [sheet navigator](https://sheet.lodev09.com/guides/navigation) for seamless navigation integration
@@ -30,8 +29,8 @@ The true native bottom sheet experience for your React Native Apps. 💩
30
29
  ### Prerequisites
31
30
 
32
31
  - React Native 0.80+
33
- - New Architecture enabled (default in RN 0.76+)
34
- - Xcode 26.1+ (liquid glass support)
32
+ - New Architecture enabled
33
+ - Xcode 26.1+
35
34
 
36
35
  ### Compatibility
37
36
 
@@ -97,6 +96,10 @@ export const App = () => {
97
96
  }
98
97
  ```
99
98
 
99
+ ## That map is awesome!
100
+
101
+ Yes it is! Checkout [`@lugg/maps`](https://github.com/lugg/maps), a universal maps library for React Native that I'm developing at [Lugg](https://lugg.com).
102
+
100
103
  ## Contributing
101
104
 
102
105
  See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
@@ -528,6 +528,8 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
528
528
  when (newState) {
529
529
  BottomSheetBehavior.STATE_DRAGGING -> handleDragBegin(sheetView)
530
530
 
531
+ BottomSheetBehavior.STATE_SETTLING -> handleSettling(sheetView)
532
+
531
533
  BottomSheetBehavior.STATE_EXPANDED,
532
534
  BottomSheetBehavior.STATE_COLLAPSED,
533
535
  BottomSheetBehavior.STATE_HALF_EXPANDED -> handleStateSettled(sheetView, newState)
@@ -581,7 +583,9 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
581
583
  val detent = detentCalculator.getDetentValueForIndex(detentInfo.index)
582
584
  delegate?.viewControllerDidDragEnd(detentInfo.index, detentInfo.position, detent)
583
585
 
584
- if (detentInfo.index != currentDetentIndex) {
586
+ // Skip detent change if keyboard inset is still active — detent mapping is unreliable.
587
+ // keyboardWillHide will recalculate detents and settle at the correct index.
588
+ if (detentInfo.index != currentDetentIndex && keyboardInset == 0) {
585
589
  currentDetentIndex = detentInfo.index
586
590
  setupDimmedBackground()
587
591
  delegate?.viewControllerDidChangeDetent(detentInfo.index, detentInfo.position, detent)
@@ -713,6 +717,11 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
713
717
  return
714
718
  }
715
719
 
720
+ // Commit the new index so keyboardWillHide restores to it instead of the stale one
721
+ if (detentIndexBeforeKeyboard >= 0) {
722
+ detentIndexBeforeKeyboard = detentIndex
723
+ }
724
+
716
725
  setupDimmedBackground()
717
726
  setStateForDetentIndex(detentIndex)
718
727
  resizePromise?.invoke()
@@ -1015,7 +1024,6 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
1015
1024
 
1016
1025
  override fun keyboardWillHide() {
1017
1026
  if (!shouldHandleKeyboard(checkFocus = false)) return
1018
-
1019
1027
  setupSheetDetents()
1020
1028
  if (!isBeingDismissed && detentIndexBeforeKeyboard >= 0) {
1021
1029
  setStateForDetentIndex(detentIndexBeforeKeyboard)
@@ -1062,14 +1070,50 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
1062
1070
  detentCalculator.getPositionDp(detentCalculator.getVisibleSheetHeight(sheetView.top))
1063
1071
 
1064
1072
  private fun handleDragBegin(sheetView: View) {
1073
+ detentIndexBeforeKeyboard = -1
1074
+
1065
1075
  val position = getPositionDpForView(sheetView)
1066
1076
  val detent = detentCalculator.getDetentValueForIndex(currentDetentIndex)
1067
1077
  delegate?.viewControllerDidDragBegin(currentDetentIndex, position, detent)
1068
1078
  interactionState = InteractionState.Dragging(startTop = sheetView.top)
1069
1079
  }
1070
1080
 
1081
+ private fun handleSettling(sheetView: View) {
1082
+ if (interactionState !is InteractionState.Dragging) return
1083
+ if (keyboardInset <= 0) return
1084
+
1085
+ // After drag release, check if the sheet was dragged past the midpoint between the
1086
+ // keyboard-expanded position and a non-keyboard detent position. If so, dismiss
1087
+ // keyboard and commit to that detent.
1088
+ val maxAvailableHeight = realScreenHeight - topInset
1089
+ val keyboardHeight = minOf(detentCalculator.getDetentHeight(detents.last()), maxAvailableHeight)
1090
+ val keyboardTop = realScreenHeight - keyboardHeight
1091
+
1092
+ for (i in detents.indices) {
1093
+ val nonKeyboardHeight = minOf(detentCalculator.getDetentHeight(detents[i], includeKeyboard = false), maxAvailableHeight)
1094
+ val nonKeyboardTop = realScreenHeight - nonKeyboardHeight
1095
+ val midpoint = keyboardTop + (nonKeyboardTop - keyboardTop) / 2
1096
+
1097
+ if (sheetView.top >= midpoint) {
1098
+ // Target position matches the keyboard-expanded position — keep keyboard open
1099
+ if (nonKeyboardTop == keyboardTop) break
1100
+
1101
+ detentIndexBeforeKeyboard = -1
1102
+ currentDetentIndex = i
1103
+ dismissKeyboard()
1104
+ setupDimmedBackground()
1105
+
1106
+ val position = getPositionDpForView(sheetView)
1107
+ val detent = detentCalculator.getDetentValueForIndex(i)
1108
+ delegate?.viewControllerDidChangeDetent(i, position, detent)
1109
+ break
1110
+ }
1111
+ }
1112
+ }
1113
+
1071
1114
  private fun handleDragChange(sheetView: View) {
1072
1115
  if (interactionState !is InteractionState.Dragging) return
1116
+
1073
1117
  val position = getPositionDpForView(sheetView)
1074
1118
  val detent = detentCalculator.getDetentValueForIndex(currentDetentIndex)
1075
1119
  delegate?.viewControllerDidDragChange(currentDetentIndex, position, detent)
@@ -39,7 +39,7 @@ class TrueSheetDetentCalculator(private val reactContext: ThemedReactContext) {
39
39
  * Calculate the height in pixels for a given detent value.
40
40
  * @param detent The detent value: -1.0 for content-fit, or 0.0-1.0 for screen fraction
41
41
  */
42
- fun getDetentHeight(detent: Double): Int {
42
+ fun getDetentHeight(detent: Double, includeKeyboard: Boolean = true): Int {
43
43
  val baseHeight = if (detent == -1.0) {
44
44
  contentHeight + headerHeight + contentBottomInset
45
45
  } else {
@@ -49,7 +49,7 @@ class TrueSheetDetentCalculator(private val reactContext: ThemedReactContext) {
49
49
  (detent * screenHeight).toInt() + contentBottomInset
50
50
  }
51
51
 
52
- val height = baseHeight + keyboardInset
52
+ val height = if (includeKeyboard) baseHeight + keyboardInset else baseHeight
53
53
  val maxAllowedHeight = screenHeight + contentBottomInset
54
54
  return maxContentHeight?.let { minOf(height, it, maxAllowedHeight) } ?: minOf(height, maxAllowedHeight)
55
55
  }
@@ -33,6 +33,7 @@
33
33
  #import <React/RCTLog.h>
34
34
  #import <React/RCTSurfaceTouchHandler.h>
35
35
  #import <React/RCTUtils.h>
36
+ #import <cxxreact/ReactNativeVersion.h>
36
37
  #import <react/renderer/core/State.h>
37
38
 
38
39
  using namespace facebook::react;
@@ -271,8 +272,6 @@ using namespace facebook::react;
271
272
  if (_controller) {
272
273
  [self updateStateWithSize:_controller.view.frame.size];
273
274
  }
274
-
275
- [_screensEventObserver startObservingWithState:_state.get()->getData()];
276
275
  }
277
276
 
278
277
  /**
@@ -286,13 +285,18 @@ using namespace facebook::react;
286
285
  return;
287
286
 
288
287
  _lastStateSize = size;
289
- _state->updateState([=](TrueSheetViewShadowNode::ConcreteState::Data const &oldData)
290
- -> TrueSheetViewShadowNode::ConcreteState::SharedData {
291
- auto newData = oldData;
292
- newData.containerWidth = static_cast<float>(size.width);
293
- newData.containerHeight = static_cast<float>(size.height);
294
- return std::make_shared<TrueSheetViewShadowNode::ConcreteState::Data const>(newData);
295
- });
288
+
289
+ auto stateData = _state->getData();
290
+ stateData.containerWidth = static_cast<float>(size.width);
291
+ stateData.containerHeight = static_cast<float>(size.height);
292
+
293
+ #if REACT_NATIVE_VERSION_MINOR >= 82
294
+ // TODO: RN 0.82+ processes state updates in the same layout pass (synchronous).
295
+ // Once stable, we can drop native layout constraints in favor of synchronous Yoga layout.
296
+ _state->updateState(std::move(stateData), facebook::react::EventQueue::UpdateMode::unstable_Immediate);
297
+ #else
298
+ _state->updateState(std::move(stateData));
299
+ #endif
296
300
  }
297
301
 
298
302
  - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
@@ -458,6 +462,7 @@ using namespace facebook::react;
458
462
  [_controller setupActiveDetentWithIndex:index];
459
463
 
460
464
  [_screensEventObserver capturePresenterScreenFromView:self];
465
+ [_screensEventObserver startObservingWithState:_state.get()->getData()];
461
466
 
462
467
  [presentingViewController presentViewController:_controller
463
468
  animated:animated
@@ -666,7 +671,12 @@ using namespace facebook::react;
666
671
  - (void)presenterScreenWillAppear {
667
672
  if (_dismissedByNavigation && !_controller.isPresented && !_controller.isBeingPresented) {
668
673
  _dismissedByNavigation = NO;
669
- _pendingNavigationRepresent = YES;
674
+
675
+ if (self.window) {
676
+ [self presentAtIndex:_controller.activeDetentIndex animated:YES completion:nil];
677
+ } else {
678
+ _pendingNavigationRepresent = YES;
679
+ }
670
680
  }
671
681
  }
672
682
 
@@ -34,7 +34,6 @@ NS_ASSUME_NONNULL_BEGIN
34
34
  - (void)stopObserving;
35
35
 
36
36
  - (void)capturePresenterScreenFromView:(UIView *)view;
37
- - (BOOL)shouldDismissForScreenTag:(NSInteger)screenTag;
38
37
 
39
38
  @end
40
39
 
@@ -25,6 +25,8 @@ using namespace facebook::react;
25
25
  __weak UIViewController *_parentScreenController;
26
26
  __weak UIWindow *_window;
27
27
  BOOL _dismissedByNavigation;
28
+ BOOL _pendingInteractiveDismiss;
29
+ BOOL _pendingInteractiveAppear;
28
30
  }
29
31
 
30
32
  - (instancetype)init {
@@ -60,19 +62,44 @@ using namespace facebook::react;
60
62
 
61
63
  if (auto family = event.shadowNodeFamily.lock()) {
62
64
  Tag screenTag = family->getTag();
65
+ if (![strongSelf->_screenTags containsObject:@(screenTag)]) {
66
+ return false;
67
+ }
68
+
69
+ BOOL interactive = [strongSelf isInteractiveTransition];
63
70
 
64
71
  if (event.type == "topWillDisappear") {
65
- if ([strongSelf->_screenTags containsObject:@(screenTag)]) {
66
- if ([strongSelf shouldDismissForScreenTag:screenTag]) {
67
- strongSelf->_dismissedByNavigation = YES;
68
- [strongSelf.delegate presenterScreenWillDisappear];
69
- }
72
+ if (interactive) {
73
+ strongSelf->_pendingInteractiveDismiss = YES;
74
+ } else if ([strongSelf shouldDismissForScreenTag:screenTag]) {
75
+ strongSelf->_dismissedByNavigation = YES;
76
+ [strongSelf.delegate presenterScreenWillDisappear];
77
+ }
78
+ } else if (event.type == "topDisappear") {
79
+ if (strongSelf->_pendingInteractiveDismiss) {
80
+ strongSelf->_pendingInteractiveDismiss = NO;
81
+ strongSelf->_dismissedByNavigation = YES;
82
+ [strongSelf.delegate presenterScreenWillDisappear];
70
83
  }
71
84
  } else if (event.type == "topWillAppear") {
72
- if ([strongSelf->_screenTags containsObject:@(screenTag)] && strongSelf->_dismissedByNavigation) {
85
+ if (strongSelf->_dismissedByNavigation) {
86
+ if (interactive) {
87
+ strongSelf->_pendingInteractiveAppear = YES;
88
+ } else {
89
+ strongSelf->_dismissedByNavigation = NO;
90
+ [strongSelf.delegate presenterScreenWillAppear];
91
+ }
92
+ }
93
+ strongSelf->_pendingInteractiveDismiss = NO;
94
+ } else if (event.type == "topAppear") {
95
+ if (strongSelf->_pendingInteractiveAppear) {
96
+ strongSelf->_pendingInteractiveAppear = NO;
73
97
  strongSelf->_dismissedByNavigation = NO;
74
98
  [strongSelf.delegate presenterScreenWillAppear];
75
99
  }
100
+ } else if (event.type == "topGestureCancel") {
101
+ strongSelf->_pendingInteractiveDismiss = NO;
102
+ strongSelf->_pendingInteractiveAppear = NO;
76
103
  }
77
104
  }
78
105
  return false;
@@ -121,6 +148,11 @@ using namespace facebook::react;
121
148
  }
122
149
  }
123
150
 
151
+ - (BOOL)isInteractiveTransition {
152
+ UINavigationController *navController = _presenterScreenController.navigationController;
153
+ return navController.transitionCoordinator.isInteractive;
154
+ }
155
+
124
156
  - (BOOL)shouldDismissForScreenTag:(NSInteger)screenTag {
125
157
  // For parent screens (not immediate presenter), check if the presenter screen is being removed
126
158
  // This handles nested stack removal case
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { createElement, Fragment, forwardRef, isValidElement, useCallback, useContext, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
4
- import { View, StyleSheet, useWindowDimensions } from 'react-native';
4
+ import { View, StyleSheet, useColorScheme, useWindowDimensions } from 'react-native';
5
5
  import BottomSheet, { BottomSheetBackdrop, BottomSheetFooter, BottomSheetHandle, BottomSheetModal, BottomSheetView } from '@gorhom/bottom-sheet';
6
6
  import { useDerivedValue, useSharedValue } from 'react-native-reanimated';
7
7
  import { BottomSheetContext } from "./TrueSheetProvider.web.js";
@@ -9,6 +9,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const DEFAULT_CORNER_RADIUS = 16;
10
10
  const DEFAULT_ELEVATION = 4;
11
11
  const DEFAULT_MAX_WIDTH = 640;
12
+ // M3 baseline surfaceContainerLow
13
+ const COLOR_SURFACE_CONTAINER_LOW_LIGHT = '#F7F2FA';
14
+ const COLOR_SURFACE_CONTAINER_LOW_DARK = '#1D1B20';
12
15
  const DEFAULT_GRABBER_COLOR = 'rgba(0, 0, 0, 0.3)';
13
16
  const DEFAULT_GRABBER_WIDTH = 32;
14
17
  const DEFAULT_GRABBER_HEIGHT = 4;
@@ -43,7 +46,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
43
46
  children,
44
47
  scrollable = false,
45
48
  initialDetentIndex = -1,
46
- backgroundColor = '#ffffff',
49
+ backgroundColor: backgroundColorProp,
47
50
  cornerRadius = DEFAULT_CORNER_RADIUS,
48
51
  elevation = DEFAULT_ELEVATION,
49
52
  grabber = true,
@@ -73,6 +76,8 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
73
76
  stackBehavior = 'switch',
74
77
  style
75
78
  } = props;
79
+ const colorScheme = useColorScheme();
80
+ const backgroundColor = backgroundColorProp ?? (colorScheme === 'dark' ? COLOR_SURFACE_CONTAINER_LOW_DARK : COLOR_SURFACE_CONTAINER_LOW_LIGHT);
76
81
  const {
77
82
  width: windowWidth,
78
83
  height: windowHeight
@@ -1 +1 @@
1
- {"version":3,"names":["createElement","Fragment","forwardRef","isValidElement","useCallback","useContext","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","useWindowDimensions","BottomSheet","BottomSheetBackdrop","BottomSheetFooter","BottomSheetHandle","BottomSheetModal","BottomSheetView","useDerivedValue","useSharedValue","BottomSheetContext","jsx","_jsx","jsxs","_jsxs","DEFAULT_CORNER_RADIUS","DEFAULT_ELEVATION","DEFAULT_MAX_WIDTH","DEFAULT_GRABBER_COLOR","DEFAULT_GRABBER_WIDTH","DEFAULT_GRABBER_HEIGHT","getElevationShadow","elevation","ambientY","ambientBlur","ambientOpacity","keyY","keyBlur","keyOpacity","renderSlot","slot","TrueSheetComponent","props","ref","name","detents","dismissible","draggable","dimmed","dimmedDetentIndex","children","scrollable","initialDetentIndex","backgroundColor","cornerRadius","grabber","grabberOptions","maxContentHeight","maxContentWidth","anchor","anchorOffset","header","headerStyle","footer","footerStyle","onMount","onWillPresent","onDidPresent","onWillDismiss","onDidDismiss","onDetentChange","onPositionChange","onDragBegin","onDragChange","onDragEnd","onWillFocus","onDidFocus","onWillBlur","onDidBlur","stackBehavior","style","width","windowWidth","height","windowHeight","isLandscapeOrTablet","defaultName","sheetName","bottomSheetContext","bottomSheetModalRef","bottomSheetRef","initialDetentIndexRef","currentIndexRef","isPresenting","isDismissing","isMinimized","isDragging","presentResolver","dismissResolver","animatedPosition","animatedIndex","snapIndex","setSnapIndex","isMounted","setIsMounted","isNonModal","nativeEvent","position","value","index","detent","realtime","hasAutoDetent","includes","containerHeight","snapPoints","filter","map","Math","min","max","handleChange","_position","_type","previousIndex","current","handleDismiss","removeFromStack","handleAnimate","_fromIndex","toIndex","sheetsAbove","getSheetsAbove","length","backdropComponent","backdropProps","pressBehavior","opacity","appearsOnIndex","disappearsOnIndex","handleComponent","handleProps","borderRadius","styles","handle","paddingTop","topMargin","indicatorStyle","color","footerComponent","footerProps","flatten","undefined","ContainerComponent","sheetMethodsRef","present","Promise","resolve","snapToIndex","pushToStack","dismiss","close","dismissStack","immediateChild","then","resize","register","unregister","sheetContent","sharedProps","root","borderTopLeftRadius","borderTopRightRadius","boxShadow","maxWidth","marginLeft","marginRight","enablePanDownToClose","enableContentPanningGesture","enableHandlePanningGesture","onChange","onAnimate","enableDynamicSizing","maxDynamicContentSize","backgroundComponent","onClose","animateOnMount","onDismiss","STATIC_METHOD_ERROR","TrueSheet","Error","dismissAll","create","overflow","top","left","right","zIndex","paddingVertical","pointerEvents"],"sourceRoot":"../../src","sources":["TrueSheet.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createElement","Fragment","forwardRef","isValidElement","useCallback","useContext","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","View","StyleSheet","useColorScheme","useWindowDimensions","BottomSheet","BottomSheetBackdrop","BottomSheetFooter","BottomSheetHandle","BottomSheetModal","BottomSheetView","useDerivedValue","useSharedValue","BottomSheetContext","jsx","_jsx","jsxs","_jsxs","DEFAULT_CORNER_RADIUS","DEFAULT_ELEVATION","DEFAULT_MAX_WIDTH","COLOR_SURFACE_CONTAINER_LOW_LIGHT","COLOR_SURFACE_CONTAINER_LOW_DARK","DEFAULT_GRABBER_COLOR","DEFAULT_GRABBER_WIDTH","DEFAULT_GRABBER_HEIGHT","getElevationShadow","elevation","ambientY","ambientBlur","ambientOpacity","keyY","keyBlur","keyOpacity","renderSlot","slot","TrueSheetComponent","props","ref","name","detents","dismissible","draggable","dimmed","dimmedDetentIndex","children","scrollable","initialDetentIndex","backgroundColor","backgroundColorProp","cornerRadius","grabber","grabberOptions","maxContentHeight","maxContentWidth","anchor","anchorOffset","header","headerStyle","footer","footerStyle","onMount","onWillPresent","onDidPresent","onWillDismiss","onDidDismiss","onDetentChange","onPositionChange","onDragBegin","onDragChange","onDragEnd","onWillFocus","onDidFocus","onWillBlur","onDidBlur","stackBehavior","style","colorScheme","width","windowWidth","height","windowHeight","isLandscapeOrTablet","defaultName","sheetName","bottomSheetContext","bottomSheetModalRef","bottomSheetRef","initialDetentIndexRef","currentIndexRef","isPresenting","isDismissing","isMinimized","isDragging","presentResolver","dismissResolver","animatedPosition","animatedIndex","snapIndex","setSnapIndex","isMounted","setIsMounted","isNonModal","nativeEvent","position","value","index","detent","realtime","hasAutoDetent","includes","containerHeight","snapPoints","filter","map","Math","min","max","handleChange","_position","_type","previousIndex","current","handleDismiss","removeFromStack","handleAnimate","_fromIndex","toIndex","sheetsAbove","getSheetsAbove","length","backdropComponent","backdropProps","pressBehavior","opacity","appearsOnIndex","disappearsOnIndex","handleComponent","handleProps","borderRadius","styles","handle","paddingTop","topMargin","indicatorStyle","color","footerComponent","footerProps","flatten","undefined","ContainerComponent","sheetMethodsRef","present","Promise","resolve","snapToIndex","pushToStack","dismiss","close","dismissStack","immediateChild","then","resize","register","unregister","sheetContent","sharedProps","root","borderTopLeftRadius","borderTopRightRadius","boxShadow","maxWidth","marginLeft","marginRight","enablePanDownToClose","enableContentPanningGesture","enableHandlePanningGesture","onChange","onAnimate","enableDynamicSizing","maxDynamicContentSize","backgroundComponent","onClose","animateOnMount","onDismiss","STATIC_METHOD_ERROR","TrueSheet","Error","dismissAll","create","overflow","top","left","right","zIndex","paddingVertical","pointerEvents"],"sourceRoot":"../../src","sources":["TrueSheet.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EACV,cAAc,EAef,MAAM,mBAAmB,CAAC;AAkC3B,QAAA,MAAM,kBAAkB,gHAsatB,CAAC;AAKH,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,SAAS,EAAyB,OAAO,kBAAkB,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EACV,cAAc,EAef,MAAM,mBAAmB,CAAC;AAsC3B,QAAA,MAAM,kBAAkB,gHA2atB,CAAC;AAKH,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,SAAS,EAAyB,OAAO,kBAAkB,GAAG,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.9.0-beta.1",
3
+ "version": "3.9.0-beta.3",
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",
@@ -12,7 +12,7 @@ import {
12
12
  useRef,
13
13
  useState,
14
14
  } from 'react';
15
- import { View, StyleSheet, useWindowDimensions } from 'react-native';
15
+ import { View, StyleSheet, useColorScheme, useWindowDimensions } from 'react-native';
16
16
 
17
17
  import BottomSheet, {
18
18
  BottomSheetBackdrop,
@@ -50,6 +50,10 @@ const DEFAULT_CORNER_RADIUS = 16;
50
50
  const DEFAULT_ELEVATION = 4;
51
51
 
52
52
  const DEFAULT_MAX_WIDTH = 640;
53
+ // M3 baseline surfaceContainerLow
54
+ const COLOR_SURFACE_CONTAINER_LOW_LIGHT = '#F7F2FA';
55
+ const COLOR_SURFACE_CONTAINER_LOW_DARK = '#1D1B20';
56
+
53
57
  const DEFAULT_GRABBER_COLOR = 'rgba(0, 0, 0, 0.3)';
54
58
  const DEFAULT_GRABBER_WIDTH = 32;
55
59
  const DEFAULT_GRABBER_HEIGHT = 4;
@@ -89,7 +93,7 @@ const TrueSheetComponent = forwardRef<TrueSheetRefMethods, TrueSheetProps>((prop
89
93
  children,
90
94
  scrollable = false,
91
95
  initialDetentIndex = -1,
92
- backgroundColor = '#ffffff',
96
+ backgroundColor: backgroundColorProp,
93
97
  cornerRadius = DEFAULT_CORNER_RADIUS,
94
98
  elevation = DEFAULT_ELEVATION,
95
99
  grabber = true,
@@ -120,6 +124,11 @@ const TrueSheetComponent = forwardRef<TrueSheetRefMethods, TrueSheetProps>((prop
120
124
  style,
121
125
  } = props;
122
126
 
127
+ const colorScheme = useColorScheme();
128
+ const backgroundColor =
129
+ backgroundColorProp ??
130
+ (colorScheme === 'dark' ? COLOR_SURFACE_CONTAINER_LOW_DARK : COLOR_SURFACE_CONTAINER_LOW_LIGHT);
131
+
123
132
  const { width: windowWidth, height: windowHeight } = useWindowDimensions();
124
133
  const isLandscapeOrTablet = windowWidth >= 600 || windowWidth > windowHeight;
125
134
  const defaultName = useId();