@lodev09/react-native-true-sheet 4.0.0-beta.24 → 4.0.0-beta.26
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 +2 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetModule.kt +13 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayView.kt +12 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +120 -19
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +103 -27
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +18 -10
- package/android/src/main/java/com/lodev09/truesheet/core/RNScreensEventObserver.kt +31 -14
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetBehavior.kt +9 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +3 -16
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +14 -1
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDimView.kt +11 -17
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetGrabberView.kt +2 -4
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetStackManager.kt +29 -38
- package/android/src/main/java/com/lodev09/truesheet/utils/ColorUtils.kt +19 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +6 -2
- package/ios/TrueSheetContainerView.h +1 -0
- package/ios/TrueSheetContainerView.mm +6 -0
- package/ios/TrueSheetContentView.h +1 -0
- package/ios/TrueSheetContentView.mm +2 -0
- package/ios/TrueSheetFooterView.mm +5 -0
- package/ios/TrueSheetModule.mm +11 -2
- package/ios/TrueSheetView.h +2 -0
- package/ios/TrueSheetView.mm +62 -9
- package/ios/TrueSheetViewController.h +14 -0
- package/ios/TrueSheetViewController.mm +490 -33
- package/ios/core/RNScreensEventObserver.mm +18 -1
- package/ios/core/TrueSheetDetentCalculator.h +11 -0
- package/ios/core/TrueSheetDetentCalculator.mm +17 -5
- package/ios/core/TrueSheetDimView.h +27 -0
- package/ios/core/TrueSheetDimView.mm +41 -0
- package/ios/core/TrueSheetKeyboardObserver.mm +98 -15
- package/lib/module/TrueSheet.js +88 -17
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +150 -37
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/TrueSheetProvider.web.js +13 -9
- package/lib/module/TrueSheetProvider.web.js.map +1 -1
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +8 -0
- package/lib/module/scrollable.js +28 -0
- package/lib/module/scrollable.js.map +1 -0
- package/lib/module/web/keyboard.js +69 -0
- package/lib/module/web/keyboard.js.map +1 -0
- package/lib/module/web/layout.js +1 -1
- package/lib/module/web/layout.js.map +1 -1
- package/lib/module/web/vaul/context.js.map +1 -1
- package/lib/module/web/vaul/index.js +18 -8
- package/lib/module/web/vaul/index.js.map +1 -1
- package/lib/module/web/vaul/use-snap-points.js +15 -10
- package/lib/module/web/vaul/use-snap-points.js.map +1 -1
- package/lib/typescript/src/TrueSheet.d.ts +14 -1
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +53 -2
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetProvider.web.d.ts +5 -1
- package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +7 -0
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/navigation/types.d.ts +1 -1
- package/lib/typescript/src/navigation/types.d.ts.map +1 -1
- package/lib/typescript/src/scrollable.d.ts +2 -0
- package/lib/typescript/src/scrollable.d.ts.map +1 -0
- package/lib/typescript/src/web/keyboard.d.ts +15 -0
- package/lib/typescript/src/web/keyboard.d.ts.map +1 -0
- package/lib/typescript/src/web/layout.d.ts +1 -0
- package/lib/typescript/src/web/layout.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/context.d.ts +2 -1
- package/lib/typescript/src/web/vaul/context.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/index.d.ts +8 -1
- package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/types.d.ts +9 -0
- package/lib/typescript/src/web/vaul/types.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts +3 -2
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TrueSheet.tsx +91 -14
- package/src/TrueSheet.types.ts +60 -2
- package/src/TrueSheet.web.tsx +170 -41
- package/src/TrueSheetProvider.web.tsx +22 -13
- package/src/fabric/TrueSheetViewNativeComponent.ts +8 -0
- package/src/navigation/types.ts +3 -0
- package/src/scrollable.ts +25 -0
- package/src/web/keyboard.ts +79 -0
- package/src/web/layout.ts +1 -1
- package/src/web/vaul/context.ts +2 -1
- package/src/web/vaul/index.tsx +20 -5
- package/src/web/vaul/types.ts +10 -0
- package/src/web/vaul/use-snap-points.ts +19 -9
|
@@ -272,7 +272,24 @@ using namespace facebook::react;
|
|
|
272
272
|
|
|
273
273
|
// Dismiss if presenter is no longer top of nav stack (pushed/popped)
|
|
274
274
|
// Skip if still top (e.g. modal dismiss - sheet dismisses naturally)
|
|
275
|
-
|
|
275
|
+
if (navController.topViewController != _presenterScreenController) {
|
|
276
|
+
return YES;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// A presenter inside a screen container (e.g. a bottom tab) stays the top of
|
|
280
|
+
// that container while an enclosing stack pushes a screen over it.
|
|
281
|
+
for (UINavigationController *outerNav = navController.navigationController; outerNav;
|
|
282
|
+
outerNav = outerNav.navigationController) {
|
|
283
|
+
UIViewController *ancestor = _presenterScreenController;
|
|
284
|
+
while (ancestor && ancestor != outerNav.topViewController) {
|
|
285
|
+
ancestor = ancestor.parentViewController;
|
|
286
|
+
}
|
|
287
|
+
if (!ancestor) {
|
|
288
|
+
return YES;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return NO;
|
|
276
293
|
}
|
|
277
294
|
|
|
278
295
|
@end
|
|
@@ -76,6 +76,17 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
76
76
|
*/
|
|
77
77
|
- (CGFloat)resolvedHeightForIndex:(NSInteger)index;
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
Returns the offset learned for this detent itself, or 0 when none is learned.
|
|
81
|
+
*/
|
|
82
|
+
- (CGFloat)learnedOffsetForIndex:(NSInteger)index;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
Sets the offset this detent is expected to rest with, unless its learned
|
|
86
|
+
offset is already within a point of it.
|
|
87
|
+
*/
|
|
88
|
+
- (void)assumeOffset:(CGFloat)offset forIndex:(NSInteger)index;
|
|
89
|
+
|
|
79
90
|
/**
|
|
80
91
|
Finds the segment between detents for a given position.
|
|
81
92
|
Returns YES if position is between two detents, NO if at edges.
|
|
@@ -80,13 +80,25 @@
|
|
|
80
80
|
return detentValue * self.delegate.screenHeight;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
- (CGFloat)
|
|
84
|
-
// Use this detent's own offset if available
|
|
83
|
+
- (CGFloat)learnedOffsetForIndex:(NSInteger)index {
|
|
85
84
|
if (index >= 0 && index < (NSInteger)_resolvedDetentOffsets.count) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
return [_resolvedDetentOffsets[index] doubleValue];
|
|
86
|
+
}
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
- (void)assumeOffset:(CGFloat)offset forIndex:(NSInteger)index {
|
|
91
|
+
if (index >= 0 && index < (NSInteger)_resolvedDetentOffsets.count &&
|
|
92
|
+
fabs([_resolvedDetentOffsets[index] doubleValue] - offset) > 1) {
|
|
93
|
+
_resolvedDetentOffsets[index] = @(offset);
|
|
89
94
|
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
- (CGFloat)offsetForIndex:(NSInteger)index {
|
|
98
|
+
// Use this detent's own offset if available
|
|
99
|
+
CGFloat learnedOffset = [self learnedOffsetForIndex:index];
|
|
100
|
+
if (learnedOffset != 0)
|
|
101
|
+
return learnedOffset;
|
|
90
102
|
|
|
91
103
|
// Fall back to any known offset
|
|
92
104
|
for (NSInteger i = 0; i < (NSInteger)_resolvedDetentOffsets.count; i++) {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Created by Jovanni Lo (@lodev09)
|
|
3
|
+
// Copyright (c) 2024-present. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
// This source code is licensed under the MIT license found in the
|
|
6
|
+
// LICENSE file in the root directory of this source tree.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
|
|
11
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Dim behind the sheet for a custom color or opacity, which
|
|
15
|
+
* UISheetPresentationController has no API for. Starts hidden.
|
|
16
|
+
*/
|
|
17
|
+
@interface TrueSheetDimView : UIView
|
|
18
|
+
|
|
19
|
+
/// Called when the dim is tapped
|
|
20
|
+
@property (nonatomic, copy, nullable) void (^onTap)(void);
|
|
21
|
+
|
|
22
|
+
/// Adds the dim view behind everything in the presentation container
|
|
23
|
+
- (void)addToView:(UIView *)parentView;
|
|
24
|
+
|
|
25
|
+
@end
|
|
26
|
+
|
|
27
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Created by Jovanni Lo (@lodev09)
|
|
3
|
+
// Copyright (c) 2024-present. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
// This source code is licensed under the MIT license found in the
|
|
6
|
+
// LICENSE file in the root directory of this source tree.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import "TrueSheetDimView.h"
|
|
10
|
+
|
|
11
|
+
@implementation TrueSheetDimView
|
|
12
|
+
|
|
13
|
+
#pragma mark - Initialization
|
|
14
|
+
|
|
15
|
+
- (instancetype)init {
|
|
16
|
+
if (self = [super init]) {
|
|
17
|
+
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
18
|
+
self.alpha = 0;
|
|
19
|
+
|
|
20
|
+
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap)];
|
|
21
|
+
[self addGestureRecognizer:tap];
|
|
22
|
+
}
|
|
23
|
+
return self;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#pragma mark - Public
|
|
27
|
+
|
|
28
|
+
- (void)addToView:(UIView *)parentView {
|
|
29
|
+
self.frame = parentView.bounds;
|
|
30
|
+
[parentView insertSubview:self atIndex:0];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#pragma mark - Actions
|
|
34
|
+
|
|
35
|
+
- (void)handleTap {
|
|
36
|
+
if (_onTap) {
|
|
37
|
+
_onTap();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@end
|
|
@@ -12,9 +12,16 @@
|
|
|
12
12
|
#import "../TrueSheetViewController.h"
|
|
13
13
|
#import "../utils/UIView+FirstResponder.h"
|
|
14
14
|
|
|
15
|
+
// Between the minimized keyboard (up to ~180pt) and the shortest docked iPad
|
|
16
|
+
// keyboard (~340pt)
|
|
17
|
+
static const CGFloat kMinimizedKeyboardMaxHeight = 250.0;
|
|
18
|
+
|
|
19
|
+
static const NSTimeInterval kUnanimatedKeyboardDuration = 0.25;
|
|
20
|
+
|
|
15
21
|
@implementation TrueSheetKeyboardObserver {
|
|
16
22
|
NSHashTable<id<TrueSheetKeyboardObserverDelegate>> *_delegates;
|
|
17
23
|
CGFloat _currentHeight;
|
|
24
|
+
CGFloat _pendingMinimizedKeyboardOverlap;
|
|
18
25
|
}
|
|
19
26
|
|
|
20
27
|
- (CGFloat)currentHeight {
|
|
@@ -37,14 +44,20 @@
|
|
|
37
44
|
}
|
|
38
45
|
|
|
39
46
|
- (void)start {
|
|
40
|
-
[
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
|
|
48
|
+
[center addObserver:self
|
|
49
|
+
selector:@selector(keyboardWillChangeFrame:)
|
|
50
|
+
name:UIKeyboardWillChangeFrameNotification
|
|
51
|
+
object:nil];
|
|
52
|
+
[center addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
|
|
53
|
+
[center addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
|
|
44
54
|
}
|
|
45
55
|
|
|
46
56
|
- (void)stop {
|
|
47
|
-
|
|
57
|
+
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
|
|
58
|
+
[center removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];
|
|
59
|
+
[center removeObserver:self name:UIKeyboardWillShowNotification object:nil];
|
|
60
|
+
[center removeObserver:self name:UIKeyboardWillHideNotification object:nil];
|
|
48
61
|
}
|
|
49
62
|
|
|
50
63
|
- (void)dealloc {
|
|
@@ -59,15 +72,21 @@
|
|
|
59
72
|
return firstResponder != nil;
|
|
60
73
|
}
|
|
61
74
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
75
|
+
// iPadOS 26 reports its minimized keyboard (the pill left after hiding the
|
|
76
|
+
// keyboard while the input keeps focus) as a short docked keyboard. An input
|
|
77
|
+
// accessory view does stay docked across the bottom edge, so it still counts.
|
|
78
|
+
- (BOOL)isMinimizedKeyboardFrame:(CGRect)frame {
|
|
79
|
+
if (@available(iOS 26.0, *)) {
|
|
80
|
+
if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
|
|
81
|
+
return NO;
|
|
82
|
+
}
|
|
83
|
+
UIView *firstResponder = [_viewController.view findFirstResponder];
|
|
84
|
+
return frame.size.height < kMinimizedKeyboardMaxHeight && !firstResponder.inputAccessoryView;
|
|
69
85
|
}
|
|
86
|
+
return NO;
|
|
87
|
+
}
|
|
70
88
|
|
|
89
|
+
- (void)keyboardWillChangeFrame:(NSNotification *)notification {
|
|
71
90
|
NSDictionary *userInfo = notification.userInfo;
|
|
72
91
|
CGRect keyboardFrame = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
|
73
92
|
NSTimeInterval duration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
|
@@ -79,13 +98,61 @@
|
|
|
79
98
|
}
|
|
80
99
|
|
|
81
100
|
CGRect keyboardFrameInWindow = [window convertRect:keyboardFrame fromWindow:nil];
|
|
82
|
-
|
|
101
|
+
// A floating iPad keyboard is narrower than the window: it covers no edge and
|
|
102
|
+
// UIKit doesn't grow the sheet for it, so it counts as hidden. Width only — a
|
|
103
|
+
// windowed app gets docked frames offset by the window's inset.
|
|
104
|
+
BOOL floating = CGRectGetWidth(keyboardFrameInWindow) < CGRectGetWidth(window.bounds) - 1;
|
|
105
|
+
CGFloat keyboardHeight = floating ? 0 : MAX(0, window.bounds.size.height - keyboardFrameInWindow.origin.y);
|
|
106
|
+
CGFloat minimizedKeyboardOverlap = 0;
|
|
107
|
+
|
|
108
|
+
// Not gated on being topmost: UIKit restores (and an app may blur) a sheet's
|
|
109
|
+
// input while a stacked child is still dismissing over it. A hide reaches
|
|
110
|
+
// every sheet that rose, even one that no longer holds the first responder.
|
|
111
|
+
if (keyboardHeight > 0) {
|
|
112
|
+
if (![self isFirstResponderWithinSheet]) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// The minimized keyboard floats in a corner and covers nothing — treat it
|
|
116
|
+
// as hidden, and offset the growth UIKit still applies for it.
|
|
117
|
+
if ([self isMinimizedKeyboardFrame:keyboardFrameInWindow]) {
|
|
118
|
+
UIView *sheetView = _viewController.view;
|
|
119
|
+
CGFloat sheetBottom = CGRectGetMaxY([sheetView convertRect:sheetView.bounds toView:nil]);
|
|
120
|
+
minimizedKeyboardOverlap =
|
|
121
|
+
MAX(0, MIN(CGRectGetMaxY(keyboardFrameInWindow), sheetBottom) - CGRectGetMinY(keyboardFrameInWindow));
|
|
122
|
+
keyboardHeight = 0;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Hiding a full keyboard ends either minimized or fully hidden, and UIKit
|
|
127
|
+
// only tells which (show or hide) after it has laid out the sheet for it.
|
|
128
|
+
_pendingMinimizedKeyboardOverlap = 0;
|
|
129
|
+
if (minimizedKeyboardOverlap > 0 && _currentHeight > 0) {
|
|
130
|
+
_pendingMinimizedKeyboardOverlap = minimizedKeyboardOverlap;
|
|
131
|
+
minimizedKeyboardOverlap = 0;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
CGFloat previousOverlap = _viewController.minimizedKeyboardOverlap;
|
|
135
|
+
_viewController.minimizedKeyboardOverlap = minimizedKeyboardOverlap;
|
|
136
|
+
|
|
137
|
+
if (keyboardHeight == 0 && _currentHeight == 0 && minimizedKeyboardOverlap == previousOverlap) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Docking or undocking the floating keyboard comes unanimated — animate the
|
|
142
|
+
// footer and scrollable insets ourselves instead of snapping them.
|
|
143
|
+
if (duration == 0 && (keyboardHeight > 0) != (_currentHeight > 0)) {
|
|
144
|
+
duration = kUnanimatedKeyboardDuration;
|
|
145
|
+
}
|
|
83
146
|
|
|
84
147
|
_currentHeight = keyboardHeight;
|
|
85
148
|
|
|
86
|
-
|
|
149
|
+
// UIKit also moves the sheet as the minimized keyboard comes and goes, by
|
|
150
|
+
// whatever the detents couldn't absorb — settle again once it's done.
|
|
151
|
+
if (keyboardHeight > 0 || minimizedKeyboardOverlap != previousOverlap) {
|
|
87
152
|
_viewController.keyboardSheetGrown = YES;
|
|
88
|
-
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (keyboardHeight == 0) {
|
|
89
156
|
// The sheet stays grown until UIKit finishes the shrink-back animation —
|
|
90
157
|
// clear after it completes, unless the keyboard came back in the meantime.
|
|
91
158
|
__weak __typeof(self) weakSelf = self;
|
|
@@ -109,6 +176,22 @@
|
|
|
109
176
|
}
|
|
110
177
|
}
|
|
111
178
|
|
|
179
|
+
// Shown minimized: UIKit has grown the sheet for it already, take it back.
|
|
180
|
+
- (void)keyboardWillShow:(NSNotification *)notification {
|
|
181
|
+
if (_pendingMinimizedKeyboardOverlap == 0) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
_viewController.minimizedKeyboardOverlap = _pendingMinimizedKeyboardOverlap;
|
|
186
|
+
_pendingMinimizedKeyboardOverlap = 0;
|
|
187
|
+
_viewController.keyboardSheetGrown = YES;
|
|
188
|
+
[_viewController invalidateDetents];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
- (void)keyboardWillHide:(NSNotification *)notification {
|
|
192
|
+
_pendingMinimizedKeyboardOverlap = 0;
|
|
193
|
+
}
|
|
194
|
+
|
|
112
195
|
@end
|
|
113
196
|
|
|
114
197
|
#endif
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -9,6 +9,7 @@ import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNati
|
|
|
9
9
|
import TrueSheetModule from "./specs/NativeTrueSheetModule.js";
|
|
10
10
|
import { TrueSheetBackground } from "./TrueSheetBackground.js";
|
|
11
11
|
import { normalizeDetentBackground } from "./detentBackgrounds.js";
|
|
12
|
+
import { resolveScrollable } from "./scrollable.js";
|
|
12
13
|
import { Platform, StyleSheet, BackHandler, RootTagContext, findNodeHandle, processColor } from 'react-native';
|
|
13
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
// RN has no public API for hosting the element inspector inside a presented view;
|
|
@@ -64,10 +65,20 @@ export class TrueSheet extends PureComponent {
|
|
|
64
65
|
static instances = {};
|
|
65
66
|
|
|
66
67
|
/**
|
|
67
|
-
*
|
|
68
|
+
* All mounted sheets, named or not.
|
|
69
|
+
*/
|
|
70
|
+
static mountedInstances = new Set();
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Resolver to be called when mount event is received, or with `false` when the present is cancelled
|
|
68
74
|
*/
|
|
69
75
|
presentationResolver = null;
|
|
70
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Settles once a scheduled lazy unmount has committed
|
|
79
|
+
*/
|
|
80
|
+
nativeViewUnmount = null;
|
|
81
|
+
|
|
71
82
|
/**
|
|
72
83
|
* Tracks if a present operation is in progress
|
|
73
84
|
*/
|
|
@@ -118,12 +129,13 @@ export class TrueSheet extends PureComponent {
|
|
|
118
129
|
let scrollableHandle = null;
|
|
119
130
|
if (scrollableRef?.current) {
|
|
120
131
|
try {
|
|
121
|
-
scrollableHandle = findNodeHandle(scrollableRef.current);
|
|
132
|
+
scrollableHandle = findNodeHandle(resolveScrollable(scrollableRef.current));
|
|
122
133
|
} catch (error) {
|
|
123
|
-
//
|
|
124
|
-
//
|
|
134
|
+
// findNodeHandle throws on a stale ref (e.g. a wrapper that never clears
|
|
135
|
+
// it on unmount) or a handle with no usable scroll accessor. Treat it as
|
|
136
|
+
// no scrollable instead of crashing.
|
|
125
137
|
if (__DEV__) {
|
|
126
|
-
console.warn('TrueSheet: scrollableRef
|
|
138
|
+
console.warn('TrueSheet: scrollableRef could not be resolved to a native view. It may be stale or expose no scroll node.', error);
|
|
127
139
|
}
|
|
128
140
|
}
|
|
129
141
|
}
|
|
@@ -247,6 +259,7 @@ export class TrueSheet extends PureComponent {
|
|
|
247
259
|
* @returns Promise that resolves when all sheets are dismissed
|
|
248
260
|
*/
|
|
249
261
|
static async dismissAll(animated = true) {
|
|
262
|
+
TrueSheet.mountedInstances.forEach(sheet => sheet.cancelPendingPresent());
|
|
250
263
|
return TrueSheetModule?.dismissAll(animated);
|
|
251
264
|
}
|
|
252
265
|
registerInstance() {
|
|
@@ -287,16 +300,15 @@ export class TrueSheet extends PureComponent {
|
|
|
287
300
|
|
|
288
301
|
// Non-lazy content stays mounted; otherwise clean it up unless another presentation is active.
|
|
289
302
|
if (!this.isPresenting && this.props.lazy !== false) {
|
|
290
|
-
this.
|
|
291
|
-
shouldRenderNativeView: false
|
|
292
|
-
});
|
|
303
|
+
this.unmountNativeView();
|
|
293
304
|
}
|
|
294
305
|
this.props.onDidDismiss?.(event);
|
|
295
306
|
}
|
|
296
307
|
onMount(event) {
|
|
297
|
-
// Resolve the mount promise if waiting
|
|
298
|
-
|
|
299
|
-
|
|
308
|
+
// Resolve the mount promise if waiting. While an unmount is pending, the event is from
|
|
309
|
+
// the outgoing view — present() waits for the remount instead.
|
|
310
|
+
if (this.presentationResolver && !this.nativeViewUnmount) {
|
|
311
|
+
this.presentationResolver(true);
|
|
300
312
|
this.presentationResolver = null;
|
|
301
313
|
}
|
|
302
314
|
this.props.onMount?.(event);
|
|
@@ -349,7 +361,10 @@ export class TrueSheet extends PureComponent {
|
|
|
349
361
|
});
|
|
350
362
|
return onBackPress?.() ?? onDismissAttempt != null;
|
|
351
363
|
}
|
|
352
|
-
|
|
364
|
+
|
|
365
|
+
// Rejects when the native view is gone but JS hasn't unmounted yet (e.g. the surface
|
|
366
|
+
// stopped while this back press was queued). Nothing is left to dismiss.
|
|
367
|
+
TrueSheetModule?.handleBackPress(nodeHandle).catch(() => {});
|
|
353
368
|
return this.props.onBackPress?.() ?? true;
|
|
354
369
|
}
|
|
355
370
|
|
|
@@ -363,21 +378,67 @@ export class TrueSheet extends PureComponent {
|
|
|
363
378
|
if (index < 0 || index >= detentsLength) {
|
|
364
379
|
throw new Error(`TrueSheet: present index (${index}) is out of bounds. detents array has ${detentsLength} item(s)`);
|
|
365
380
|
}
|
|
381
|
+
|
|
382
|
+
// Still waiting on the lazy mount — like native, a second present is a no-op
|
|
383
|
+
if (this.presentationResolver) {
|
|
384
|
+
console.warn('TrueSheet: sheet is already presented. Use resize() to change detent.');
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
366
387
|
this.isPresenting = true;
|
|
367
388
|
|
|
368
389
|
// Lazy load: render native view if not already rendered
|
|
369
|
-
|
|
370
|
-
|
|
390
|
+
const unmount = this.nativeViewUnmount;
|
|
391
|
+
if (unmount || !this.state.shouldRenderNativeView) {
|
|
392
|
+
const mounted = await new Promise(resolve => {
|
|
371
393
|
this.presentationResolver = resolve;
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
394
|
+
const mount = () => {
|
|
395
|
+
if (this.presentationResolver === resolve) {
|
|
396
|
+
this.setState({
|
|
397
|
+
shouldRenderNativeView: true
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
// An unmount from the last dismiss may not have committed yet — state still reads
|
|
403
|
+
// mounted, and presenting now would lose the sheet when it lands. Remount after it.
|
|
404
|
+
if (unmount) {
|
|
405
|
+
unmount.then(mount);
|
|
406
|
+
} else {
|
|
407
|
+
mount();
|
|
408
|
+
}
|
|
375
409
|
});
|
|
410
|
+
|
|
411
|
+
// Dismissed before the native view mounted
|
|
412
|
+
if (!mounted) {
|
|
413
|
+
this.isPresenting = false;
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
376
416
|
}
|
|
377
417
|
await TrueSheetModule?.presentByRef(this.handle, index, animated);
|
|
378
418
|
this.isPresenting = false;
|
|
379
419
|
}
|
|
380
420
|
|
|
421
|
+
/**
|
|
422
|
+
* Cancels a present still waiting on the lazy mount. Returns whether one was pending.
|
|
423
|
+
*/
|
|
424
|
+
cancelPendingPresent() {
|
|
425
|
+
if (!this.presentationResolver) return false;
|
|
426
|
+
this.presentationResolver(false);
|
|
427
|
+
this.presentationResolver = null;
|
|
428
|
+
this.unmountNativeView();
|
|
429
|
+
return true;
|
|
430
|
+
}
|
|
431
|
+
unmountNativeView() {
|
|
432
|
+
this.nativeViewUnmount = new Promise(resolve => {
|
|
433
|
+
this.setState({
|
|
434
|
+
shouldRenderNativeView: false
|
|
435
|
+
}, () => {
|
|
436
|
+
this.nativeViewUnmount = null;
|
|
437
|
+
resolve();
|
|
438
|
+
});
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
|
|
381
442
|
/**
|
|
382
443
|
* Resize the sheet to a given detent index.
|
|
383
444
|
* @param index - The detent index to resize to
|
|
@@ -391,6 +452,8 @@ export class TrueSheet extends PureComponent {
|
|
|
391
452
|
* @param animated - Whether to animate the dismissal (default: true)
|
|
392
453
|
*/
|
|
393
454
|
async dismiss(animated = true) {
|
|
455
|
+
// Dismissing before the lazy mount finishes cancels the present — nothing was presented
|
|
456
|
+
if (this.cancelPendingPresent()) return;
|
|
394
457
|
return TrueSheetModule?.dismissByRef(this.handle, animated);
|
|
395
458
|
}
|
|
396
459
|
|
|
@@ -403,6 +466,7 @@ export class TrueSheet extends PureComponent {
|
|
|
403
466
|
return TrueSheetModule?.dismissStackByRef(this.handle, animated);
|
|
404
467
|
}
|
|
405
468
|
componentDidMount() {
|
|
469
|
+
TrueSheet.mountedInstances.add(this);
|
|
406
470
|
this.registerInstance();
|
|
407
471
|
this.updateScrollableHandle();
|
|
408
472
|
}
|
|
@@ -432,9 +496,12 @@ export class TrueSheet extends PureComponent {
|
|
|
432
496
|
}
|
|
433
497
|
}
|
|
434
498
|
componentWillUnmount() {
|
|
499
|
+
TrueSheet.mountedInstances.delete(this);
|
|
435
500
|
this.unregisterInstance();
|
|
436
501
|
this.backHandlerSubscription?.remove();
|
|
437
502
|
this.backHandlerSubscription = null;
|
|
503
|
+
// Don't leave a present waiting on the lazy mount hanging
|
|
504
|
+
this.presentationResolver?.(false);
|
|
438
505
|
this.presentationResolver = null;
|
|
439
506
|
}
|
|
440
507
|
render() {
|
|
@@ -451,6 +518,8 @@ export class TrueSheet extends PureComponent {
|
|
|
451
518
|
grabberOptions,
|
|
452
519
|
accessibilityOptions,
|
|
453
520
|
dimmed = true,
|
|
521
|
+
dimColor,
|
|
522
|
+
dimOpacity,
|
|
454
523
|
initialDetentIndex = -1,
|
|
455
524
|
initialDetentAnimated = true,
|
|
456
525
|
dimmedDetentIndex,
|
|
@@ -537,6 +606,8 @@ export class TrueSheet extends PureComponent {
|
|
|
537
606
|
grabberOptions: this.resolvedGrabberOptions,
|
|
538
607
|
accessibilityOptions: accessibilityOptions,
|
|
539
608
|
dimmed: dimmed,
|
|
609
|
+
dimColor: dimColor,
|
|
610
|
+
dimOpacity: dimOpacity,
|
|
540
611
|
dimmedDetentIndex: dimmedDetentIndex,
|
|
541
612
|
initialDetentIndex: gatedInitialDetentIndex,
|
|
542
613
|
initialDetentAnimated: initialDetentAnimated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","TrueSheetBackground","normalizeDetentBackground","Platform","StyleSheet","BackHandler","RootTagContext","findNodeHandle","processColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AppContainer","__DEV__","require","default","LINKING_ERROR","select","ios","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","contextType","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onDismissAttempt","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","error","console","warn","detents","length","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","detentBackgrounds","background","backgroundStyle","draggable","dismissThreshold","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","cornerRadius","maxContentHeight","maxContentWidth","placement","placementOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","sheetContent","styles","position","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","ref","sheetView","Array","from","entry","normalized","footerPosition","keyboardOffset","avoidKeyboard","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","rootTag","context","rootViewStyle","inspectorHost","internal_excludeLogBox","create","absoluteFill","pointerEvents","display","top","left","right","zIndex","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","TrueSheetBackground","normalizeDetentBackground","resolveScrollable","Platform","StyleSheet","BackHandler","RootTagContext","findNodeHandle","processColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AppContainer","__DEV__","require","default","LINKING_ERROR","select","ios","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","contextType","backHandlerSubscription","isPresented","isSheetVisible","instances","mountedInstances","Set","presentationResolver","nativeViewUnmount","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onDismissAttempt","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","error","console","warn","detents","length","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","sheet","cancelPendingPresent","registerInstance","unregisterInstance","OS","remove","addEventListener","unmountNativeView","nativeEvent","visible","dismissible","onBackPress","catch","unmount","mounted","Promise","resolve","mount","then","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","add","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","delete","render","backgroundColor","detentBackgrounds","background","backgroundStyle","draggable","dismissThreshold","grabber","grabberOptions","accessibilityOptions","dimmed","dimColor","dimOpacity","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","cornerRadius","maxContentHeight","maxContentWidth","placement","placementOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","sheetContent","styles","position","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","ref","sheetView","Array","from","entry","normalized","footerPosition","keyboardOffset","avoidKeyboard","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","rootTag","context","rootViewStyle","inspectorHost","internal_excludeLogBox","create","absoluteFill","pointerEvents","display","top","left","right","zIndex","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|