@lodev09/react-native-true-sheet 3.11.3 → 3.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNTrueSheet.podspec +6 -2
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +69 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +62 -4
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +2 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekView.kt +72 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekViewManager.kt +33 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +7 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +10 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +24 -1
- package/ios/TrueSheetContainerView.h +18 -0
- package/ios/TrueSheetContainerView.mm +78 -1
- package/ios/TrueSheetContentView.mm +82 -4
- package/ios/TrueSheetPeekView.h +32 -0
- package/ios/TrueSheetPeekView.mm +99 -0
- package/ios/TrueSheetView.mm +19 -0
- package/ios/TrueSheetViewController.h +2 -0
- package/ios/TrueSheetViewController.mm +10 -0
- package/ios/core/TrueSheetDetentCalculator.h +10 -0
- package/ios/core/TrueSheetDetentCalculator.mm +9 -0
- package/ios/tvos/TrueSheetStubs.mm +152 -0
- package/lib/module/TrueSheet.js +2 -1
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +104 -69
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/TrueSheetPeek.js +15 -0
- package/lib/module/TrueSheetPeek.js.map +1 -0
- package/lib/module/TrueSheetPeek.web.js +46 -0
- package/lib/module/TrueSheetPeek.web.js.map +1 -0
- package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/mocks/index.js +10 -0
- package/lib/module/mocks/index.js.map +1 -1
- package/lib/module/web/vaul/constants.js +1 -0
- package/lib/module/web/vaul/constants.js.map +1 -1
- package/lib/module/web/vaul/index.js +2 -0
- package/lib/module/web/vaul/index.js.map +1 -1
- package/lib/module/web/vaul/use-snap-points.js +6 -4
- package/lib/module/web/vaul/use-snap-points.js.map +1 -1
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +10 -0
- 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/TrueSheetPeek.d.ts +9 -0
- package/lib/typescript/src/TrueSheetPeek.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetPeek.web.d.ts +19 -0
- package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -0
- package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts +6 -0
- package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts +6 -2
- package/lib/typescript/src/mocks/index.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/constants.d.ts +1 -0
- package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/index.d.ts +6 -1
- package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts +2 -1
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/TrueSheet.tsx +2 -1
- package/src/TrueSheet.types.ts +11 -0
- package/src/TrueSheet.web.tsx +110 -71
- package/src/TrueSheetPeek.tsx +11 -0
- package/src/TrueSheetPeek.web.tsx +48 -0
- package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/src/index.ts +1 -0
- package/src/mocks/index.ts +8 -1
- package/src/web/vaul/constants.ts +2 -0
- package/src/web/vaul/index.tsx +7 -0
- package/src/web/vaul/use-snap-points.ts +17 -4
|
@@ -28,6 +28,7 @@ using namespace facebook::react;
|
|
|
28
28
|
CGFloat _bottomInset;
|
|
29
29
|
CGFloat _originalScrollViewHeight;
|
|
30
30
|
CGFloat _originalIndicatorBottomInset;
|
|
31
|
+
BOOL _observingTextChanges;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
@@ -42,6 +43,32 @@ using namespace facebook::react;
|
|
|
42
43
|
return self;
|
|
43
44
|
}
|
|
44
45
|
|
|
46
|
+
- (void)dealloc {
|
|
47
|
+
[self stopObservingTextChanges];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
#pragma mark - Text Change Observing
|
|
51
|
+
|
|
52
|
+
// The notification is app-wide (object:nil), so only observe while the keyboard is up
|
|
53
|
+
- (void)startObservingTextChanges {
|
|
54
|
+
if (_observingTextChanges) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
_observingTextChanges = YES;
|
|
58
|
+
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
59
|
+
selector:@selector(focusedInputTextDidChange:)
|
|
60
|
+
name:UITextViewTextDidChangeNotification
|
|
61
|
+
object:nil];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
- (void)stopObservingTextChanges {
|
|
65
|
+
if (!_observingTextChanges) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
_observingTextChanges = NO;
|
|
69
|
+
[[NSNotificationCenter defaultCenter] removeObserver:self name:UITextViewTextDidChangeNotification object:nil];
|
|
70
|
+
}
|
|
71
|
+
|
|
45
72
|
#pragma mark - Layout
|
|
46
73
|
|
|
47
74
|
- (void)updateLayoutMetrics:(const LayoutMetrics &)layoutMetrics
|
|
@@ -250,6 +277,8 @@ using namespace facebook::react;
|
|
|
250
277
|
return;
|
|
251
278
|
}
|
|
252
279
|
|
|
280
|
+
[self startObservingTextChanges];
|
|
281
|
+
|
|
253
282
|
TrueSheetViewController *sheetController = _keyboardObserver.viewController;
|
|
254
283
|
UIView *firstResponder = sheetController ? [sheetController.view findFirstResponder] : nil;
|
|
255
284
|
|
|
@@ -265,15 +294,63 @@ using namespace facebook::react;
|
|
|
265
294
|
// Defer scroll until the next run loop so content insets are applied first
|
|
266
295
|
if (firstResponder) {
|
|
267
296
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
268
|
-
|
|
269
|
-
toView:self->_pinnedScrollView.scrollView];
|
|
270
|
-
responderFrame.size.height += self.keyboardScrollOffset;
|
|
271
|
-
[self->_pinnedScrollView.scrollView scrollRectToVisible:responderFrame animated:YES];
|
|
297
|
+
[self scrollToFocusedCaretAnimated:YES];
|
|
272
298
|
});
|
|
273
299
|
}
|
|
274
300
|
}
|
|
275
301
|
|
|
302
|
+
- (void)focusedInputTextDidChange:(NSNotification *)notification {
|
|
303
|
+
if (!_pinnedScrollView || !_keyboardObserver || _keyboardObserver.currentHeight <= 0) {
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
TrueSheetViewController *sheetController = _keyboardObserver.viewController;
|
|
308
|
+
UIView *firstResponder = sheetController ? [sheetController.view findFirstResponder] : nil;
|
|
309
|
+
if (!firstResponder || notification.object != firstResponder) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
314
|
+
[self scrollToFocusedCaretAnimated:YES];
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
- (void)scrollToFocusedCaretAnimated:(BOOL)animated {
|
|
319
|
+
if (!_pinnedScrollView) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
TrueSheetViewController *sheetController = _keyboardObserver.viewController;
|
|
324
|
+
UIView *firstResponder = sheetController ? [sheetController.view findFirstResponder] : nil;
|
|
325
|
+
if (!firstResponder) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
UIScrollView *scrollView = _pinnedScrollView.scrollView;
|
|
330
|
+
CGRect targetRect = [firstResponder convertRect:firstResponder.bounds toView:scrollView];
|
|
331
|
+
|
|
332
|
+
if ([firstResponder conformsToProtocol:@protocol(UITextInput)]) {
|
|
333
|
+
id<UITextInput> textInput = (id<UITextInput>)firstResponder;
|
|
334
|
+
UITextRange *selectedRange = textInput.selectedTextRange;
|
|
335
|
+
if (selectedRange) {
|
|
336
|
+
CGRect caretRect = [textInput caretRectForPosition:selectedRange.end];
|
|
337
|
+
// caretRectForPosition: can return non-finite coordinates during layout/selection transitions
|
|
338
|
+
BOOL caretRectValid = !CGRectIsNull(caretRect) && !CGRectIsInfinite(caretRect) && isfinite(caretRect.origin.x) &&
|
|
339
|
+
isfinite(caretRect.origin.y) && isfinite(caretRect.size.width) &&
|
|
340
|
+
isfinite(caretRect.size.height);
|
|
341
|
+
if (caretRectValid) {
|
|
342
|
+
targetRect = [firstResponder convertRect:caretRect toView:scrollView];
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
targetRect.size.height += self.keyboardScrollOffset;
|
|
348
|
+
[scrollView scrollRectToVisible:targetRect animated:animated];
|
|
349
|
+
}
|
|
350
|
+
|
|
276
351
|
- (void)keyboardWillHide:(NSTimeInterval)duration curve:(UIViewAnimationOptions)curve {
|
|
352
|
+
[self stopObservingTextChanges];
|
|
353
|
+
|
|
277
354
|
if (!_pinnedScrollView) {
|
|
278
355
|
return;
|
|
279
356
|
}
|
|
@@ -292,6 +369,7 @@ using namespace facebook::react;
|
|
|
292
369
|
|
|
293
370
|
- (void)prepareForRecycle {
|
|
294
371
|
[super prepareForRecycle];
|
|
372
|
+
[self stopObservingTextChanges];
|
|
295
373
|
[self clearScrollable];
|
|
296
374
|
}
|
|
297
375
|
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
10
|
+
|
|
11
|
+
#import <React/RCTViewComponentView.h>
|
|
12
|
+
#import <UIKit/UIKit.h>
|
|
13
|
+
|
|
14
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
15
|
+
|
|
16
|
+
@class TrueSheetPeekView;
|
|
17
|
+
|
|
18
|
+
@protocol TrueSheetPeekViewDelegate <NSObject>
|
|
19
|
+
@optional
|
|
20
|
+
- (void)peekViewDidChangeSize:(CGSize)size;
|
|
21
|
+
- (void)peekViewWillDetach:(TrueSheetPeekView *)peekView;
|
|
22
|
+
@end
|
|
23
|
+
|
|
24
|
+
@interface TrueSheetPeekView : RCTViewComponentView
|
|
25
|
+
|
|
26
|
+
@property (nonatomic, weak, nullable) id<TrueSheetPeekViewDelegate> delegate;
|
|
27
|
+
|
|
28
|
+
@end
|
|
29
|
+
|
|
30
|
+
NS_ASSUME_NONNULL_END
|
|
31
|
+
|
|
32
|
+
#endif
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
10
|
+
|
|
11
|
+
#import "TrueSheetPeekView.h"
|
|
12
|
+
#import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
|
|
13
|
+
#import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
|
|
14
|
+
#import <react/renderer/components/TrueSheetSpec/Props.h>
|
|
15
|
+
#import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
|
|
16
|
+
#import "TrueSheetContainerView.h"
|
|
17
|
+
|
|
18
|
+
using namespace facebook::react;
|
|
19
|
+
|
|
20
|
+
@implementation TrueSheetPeekView {
|
|
21
|
+
CGRect _lastFrame;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
25
|
+
return concreteComponentDescriptorProvider<TrueSheetPeekViewComponentDescriptor>();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
- (instancetype)initWithFrame:(CGRect)frame {
|
|
29
|
+
if (self = [super initWithFrame:frame]) {
|
|
30
|
+
static const auto defaultProps = std::make_shared<const TrueSheetPeekViewProps>();
|
|
31
|
+
_props = defaultProps;
|
|
32
|
+
|
|
33
|
+
_lastFrame = CGRectZero;
|
|
34
|
+
}
|
|
35
|
+
return self;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Peek can be nested anywhere within the content, so it attaches itself to the
|
|
40
|
+
* nearest container instead of being mounted by it. The container also searches
|
|
41
|
+
* for it when the content mounts to cover the initial (bottom-up) mount order.
|
|
42
|
+
*/
|
|
43
|
+
- (void)attachToContainerView {
|
|
44
|
+
if (self.delegate) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
UIView *view = self.superview;
|
|
49
|
+
while (view && ![view isKindOfClass:[TrueSheetContainerView class]]) {
|
|
50
|
+
view = view.superview;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (view) {
|
|
54
|
+
[(TrueSheetContainerView *)view attachPeekView:self];
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
- (void)didMoveToSuperview {
|
|
59
|
+
[super didMoveToSuperview];
|
|
60
|
+
if (self.superview) {
|
|
61
|
+
[self attachToContainerView];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
- (void)didMoveToWindow {
|
|
66
|
+
[super didMoveToWindow];
|
|
67
|
+
if (self.window) {
|
|
68
|
+
[self attachToContainerView];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
- (void)updateLayoutMetrics:(const facebook::react::LayoutMetrics &)layoutMetrics
|
|
73
|
+
oldLayoutMetrics:(const facebook::react::LayoutMetrics &)oldLayoutMetrics {
|
|
74
|
+
[super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
|
|
75
|
+
|
|
76
|
+
// Compare the whole frame — the peek's offset within the content affects
|
|
77
|
+
// the peek detent, so position changes matter too.
|
|
78
|
+
CGRect newFrame = CGRectMake(layoutMetrics.frame.origin.x, layoutMetrics.frame.origin.y,
|
|
79
|
+
layoutMetrics.frame.size.width, layoutMetrics.frame.size.height);
|
|
80
|
+
|
|
81
|
+
if (!CGRectEqualToRect(newFrame, _lastFrame)) {
|
|
82
|
+
_lastFrame = newFrame;
|
|
83
|
+
[self.delegate peekViewDidChangeSize:newFrame.size];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
- (void)prepareForRecycle {
|
|
88
|
+
[super prepareForRecycle];
|
|
89
|
+
_lastFrame = CGRectZero;
|
|
90
|
+
[self.delegate peekViewWillDetach:self];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@end
|
|
94
|
+
|
|
95
|
+
Class<RCTComponentViewProtocol> TrueSheetPeekViewCls(void) {
|
|
96
|
+
return TrueSheetPeekView.class;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
#endif
|
package/ios/TrueSheetView.mm
CHANGED
|
@@ -393,6 +393,16 @@ using namespace facebook::react;
|
|
|
393
393
|
_controller.headerHeight = @(headerHeight);
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
+
CGFloat footerHeight = [_containerView footerHeight];
|
|
397
|
+
if (footerHeight > 0) {
|
|
398
|
+
_controller.footerHeight = @(footerHeight);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
CGFloat peekContentHeight = [_containerView peekContentHeight];
|
|
402
|
+
if (peekContentHeight > 0) {
|
|
403
|
+
_controller.peekContentHeight = @(peekContentHeight);
|
|
404
|
+
}
|
|
405
|
+
|
|
396
406
|
if (_eventEmitter) {
|
|
397
407
|
[TrueSheetLifecycleEvents emitMount:_eventEmitter];
|
|
398
408
|
} else {
|
|
@@ -565,6 +575,9 @@ using namespace facebook::react;
|
|
|
565
575
|
if (!self->_containerView)
|
|
566
576
|
return;
|
|
567
577
|
|
|
578
|
+
// Refresh here (not just on peek size events) since the peek's offset
|
|
579
|
+
// within the content can change without its own size changing.
|
|
580
|
+
self->_controller.peekContentHeight = @([self->_containerView peekContentHeight]);
|
|
568
581
|
[self->_controller setupSheetDetentsForSizeChange];
|
|
569
582
|
});
|
|
570
583
|
}
|
|
@@ -580,9 +593,15 @@ using namespace facebook::react;
|
|
|
580
593
|
}
|
|
581
594
|
|
|
582
595
|
- (void)containerViewFooterDidChangeSize:(CGSize)newSize {
|
|
596
|
+
_controller.footerHeight = @(newSize.height);
|
|
597
|
+
[self setupSheetDetentsForSizeChange];
|
|
583
598
|
[_controller setupAccessibilityContainer];
|
|
584
599
|
}
|
|
585
600
|
|
|
601
|
+
- (void)containerViewPeekDidChangeSize:(CGSize)newSize {
|
|
602
|
+
[self setupSheetDetentsForSizeChange];
|
|
603
|
+
}
|
|
604
|
+
|
|
586
605
|
// When the ScrollView changes (e.g. conditional remount), re-pin the new ScrollView.
|
|
587
606
|
- (void)containerViewScrollViewDidChange {
|
|
588
607
|
[self setupScrollable];
|
|
@@ -57,6 +57,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
57
57
|
@property (nonatomic, strong, nullable) NSNumber *maxContentWidth;
|
|
58
58
|
@property (nonatomic, strong, nullable) NSNumber *contentHeight;
|
|
59
59
|
@property (nonatomic, strong, nullable) NSNumber *headerHeight;
|
|
60
|
+
@property (nonatomic, strong, nullable) NSNumber *footerHeight;
|
|
61
|
+
@property (nonatomic, strong, nullable) NSNumber *peekContentHeight;
|
|
60
62
|
@property (nonatomic, strong, nullable) UIColor *backgroundColor;
|
|
61
63
|
@property (nonatomic, strong, nullable) NSNumber *cornerRadius;
|
|
62
64
|
@property (nonatomic, assign) BOOL grabber;
|
|
@@ -91,6 +91,8 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
|
|
|
91
91
|
_detents = @[ @0.5, @1 ];
|
|
92
92
|
_contentHeight = @(0);
|
|
93
93
|
_headerHeight = @(0);
|
|
94
|
+
_footerHeight = @(0);
|
|
95
|
+
_peekContentHeight = @(0);
|
|
94
96
|
_grabber = YES;
|
|
95
97
|
_draggable = YES;
|
|
96
98
|
_scrollingExpandsSheet = YES;
|
|
@@ -898,6 +900,14 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
|
|
|
898
900
|
}
|
|
899
901
|
}
|
|
900
902
|
|
|
903
|
+
if (value == -2) {
|
|
904
|
+
if (@available(iOS 16.0, *)) {
|
|
905
|
+
return [self customDetentWithIdentifier:@"custom-peek" height:[_detentCalculator peekHeight] atIndex:index];
|
|
906
|
+
} else {
|
|
907
|
+
return [UISheetPresentationControllerDetent mediumDetent];
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
|
|
901
911
|
if (value <= 0 || value > 1) {
|
|
902
912
|
RCTLogError(@"TrueSheet: detent fraction (%f) must be between 0 and 1", value);
|
|
903
913
|
return [UISheetPresentationControllerDetent mediumDetent];
|
|
@@ -21,6 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
21
21
|
@property (nonatomic, strong, readonly) NSArray<NSNumber *> *detents;
|
|
22
22
|
@property (nonatomic, strong, readonly, nullable) NSNumber *contentHeight;
|
|
23
23
|
@property (nonatomic, strong, readonly, nullable) NSNumber *headerHeight;
|
|
24
|
+
@property (nonatomic, strong, readonly, nullable) NSNumber *footerHeight;
|
|
25
|
+
@property (nonatomic, strong, readonly, nullable) NSNumber *peekContentHeight;
|
|
24
26
|
|
|
25
27
|
@end
|
|
26
28
|
|
|
@@ -36,9 +38,17 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
36
38
|
/**
|
|
37
39
|
Returns the detent value (0-1 fraction) for a given index.
|
|
38
40
|
For auto (-1) detents, calculates based on content + header height.
|
|
41
|
+
For peek (-2) detents, calculates based on header + footer height.
|
|
39
42
|
*/
|
|
40
43
|
- (CGFloat)detentValueForIndex:(NSInteger)index;
|
|
41
44
|
|
|
45
|
+
/**
|
|
46
|
+
Returns the height for peek (-2) detents: header + footer + peek content height.
|
|
47
|
+
Falls back to 150 when none is present — matches the iOS 26
|
|
48
|
+
floating small-detent threshold.
|
|
49
|
+
*/
|
|
50
|
+
- (CGFloat)peekHeight;
|
|
51
|
+
|
|
42
52
|
/**
|
|
43
53
|
Learns the offset between resolver height and actual presented height for a detent.
|
|
44
54
|
Called when the sheet settles at a detent.
|
|
@@ -22,11 +22,20 @@
|
|
|
22
22
|
CGFloat autoHeight = [self.delegate.contentHeight floatValue] + [self.delegate.headerHeight floatValue];
|
|
23
23
|
return autoHeight / self.delegate.screenHeight;
|
|
24
24
|
}
|
|
25
|
+
if (value == -2) {
|
|
26
|
+
return [self peekHeight] / self.delegate.screenHeight;
|
|
27
|
+
}
|
|
25
28
|
return value;
|
|
26
29
|
}
|
|
27
30
|
return 0;
|
|
28
31
|
}
|
|
29
32
|
|
|
33
|
+
- (CGFloat)peekHeight {
|
|
34
|
+
CGFloat height = [self.delegate.headerHeight floatValue] + [self.delegate.footerHeight floatValue] +
|
|
35
|
+
[self.delegate.peekContentHeight floatValue];
|
|
36
|
+
return height > 0 ? height : 150;
|
|
37
|
+
}
|
|
38
|
+
|
|
30
39
|
- (void)learnOffsetForDetentIndex:(NSInteger)index {
|
|
31
40
|
if (index < 0 || !_resolvedDetentHeights || index >= (NSInteger)_resolvedDetentHeights.count) {
|
|
32
41
|
return;
|
|
@@ -0,0 +1,152 @@
|
|
|
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
|
+
// tvOS stubs. Codegen registers TrueSheet components and looks them up via
|
|
10
|
+
// NSClassFromString on all Apple platforms, so the classes must exist on tvOS
|
|
11
|
+
// even though sheets are not supported there.
|
|
12
|
+
|
|
13
|
+
#import <TargetConditionals.h>
|
|
14
|
+
|
|
15
|
+
#if TARGET_OS_TV && defined(RCT_NEW_ARCH_ENABLED)
|
|
16
|
+
|
|
17
|
+
#import <React/RCTBridgeModule.h>
|
|
18
|
+
#import <React/RCTViewComponentView.h>
|
|
19
|
+
|
|
20
|
+
#import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
|
|
21
|
+
#import <react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h>
|
|
22
|
+
|
|
23
|
+
#import <TrueSheetSpec/TrueSheetSpec.h>
|
|
24
|
+
|
|
25
|
+
using namespace facebook::react;
|
|
26
|
+
|
|
27
|
+
#pragma mark - Component Views
|
|
28
|
+
|
|
29
|
+
@interface TrueSheetView : RCTViewComponentView
|
|
30
|
+
@end
|
|
31
|
+
|
|
32
|
+
@implementation TrueSheetView
|
|
33
|
+
|
|
34
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
35
|
+
return concreteComponentDescriptorProvider<TrueSheetViewComponentDescriptor>();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@end
|
|
39
|
+
|
|
40
|
+
@interface TrueSheetContainerView : RCTViewComponentView
|
|
41
|
+
@end
|
|
42
|
+
|
|
43
|
+
@implementation TrueSheetContainerView
|
|
44
|
+
|
|
45
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
46
|
+
return concreteComponentDescriptorProvider<TrueSheetContainerViewComponentDescriptor>();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@end
|
|
50
|
+
|
|
51
|
+
@interface TrueSheetContentView : RCTViewComponentView
|
|
52
|
+
@end
|
|
53
|
+
|
|
54
|
+
@implementation TrueSheetContentView
|
|
55
|
+
|
|
56
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
57
|
+
return concreteComponentDescriptorProvider<TrueSheetContentViewComponentDescriptor>();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@end
|
|
61
|
+
|
|
62
|
+
@interface TrueSheetHeaderView : RCTViewComponentView
|
|
63
|
+
@end
|
|
64
|
+
|
|
65
|
+
@implementation TrueSheetHeaderView
|
|
66
|
+
|
|
67
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
68
|
+
return concreteComponentDescriptorProvider<TrueSheetHeaderViewComponentDescriptor>();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@end
|
|
72
|
+
|
|
73
|
+
@interface TrueSheetFooterView : RCTViewComponentView
|
|
74
|
+
@end
|
|
75
|
+
|
|
76
|
+
@implementation TrueSheetFooterView
|
|
77
|
+
|
|
78
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
79
|
+
return concreteComponentDescriptorProvider<TrueSheetFooterViewComponentDescriptor>();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@end
|
|
83
|
+
|
|
84
|
+
@interface TrueSheetPeekView : RCTViewComponentView
|
|
85
|
+
@end
|
|
86
|
+
|
|
87
|
+
@implementation TrueSheetPeekView
|
|
88
|
+
|
|
89
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider {
|
|
90
|
+
return concreteComponentDescriptorProvider<TrueSheetPeekViewComponentDescriptor>();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@end
|
|
94
|
+
|
|
95
|
+
#pragma mark - Module
|
|
96
|
+
|
|
97
|
+
@interface TrueSheetModule : NSObject <RCTBridgeModule, NativeTrueSheetModuleSpec>
|
|
98
|
+
@end
|
|
99
|
+
|
|
100
|
+
@implementation TrueSheetModule
|
|
101
|
+
|
|
102
|
+
RCT_EXPORT_MODULE(TrueSheetModule)
|
|
103
|
+
|
|
104
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
105
|
+
return NO;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
109
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
110
|
+
return std::make_shared<facebook::react::NativeTrueSheetModuleSpecJSI>(params);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
- (void)presentByRef:(double)viewTag
|
|
114
|
+
index:(double)index
|
|
115
|
+
animated:(BOOL)animated
|
|
116
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
117
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
118
|
+
reject(@"PRESENT_FAILED", @"TrueSheet is not supported on tvOS", nil);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
- (void)dismissByRef:(double)viewTag
|
|
122
|
+
animated:(BOOL)animated
|
|
123
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
124
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
125
|
+
resolve(nil);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
- (void)dismissStackByRef:(double)viewTag
|
|
129
|
+
animated:(BOOL)animated
|
|
130
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
131
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
132
|
+
resolve(nil);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
- (void)resizeByRef:(double)viewTag
|
|
136
|
+
index:(double)index
|
|
137
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
138
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
139
|
+
resolve(nil);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
- (void)handleBackPress:(double)viewTag resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
143
|
+
resolve(nil);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
- (void)dismissAll:(BOOL)animated resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
147
|
+
resolve(nil);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@end
|
|
151
|
+
|
|
152
|
+
#endif // TARGET_OS_TV && RCT_NEW_ARCH_ENABLED
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -77,7 +77,7 @@ export class TrueSheet extends PureComponent {
|
|
|
77
77
|
// Warn for invalid detent fractions
|
|
78
78
|
if (detents) {
|
|
79
79
|
detents.forEach((detent, index) => {
|
|
80
|
-
if (detent
|
|
80
|
+
if (typeof detent === 'number' && detent !== -1 && detent !== -2) {
|
|
81
81
|
if (detent <= 0 || detent > 1) {
|
|
82
82
|
console.warn(`TrueSheet: detent at index ${index} (${detent}) should be between 0 and 1. It will be clamped.`);
|
|
83
83
|
}
|
|
@@ -369,6 +369,7 @@ export class TrueSheet extends PureComponent {
|
|
|
369
369
|
// Trim to max 3 detents and clamp fractions
|
|
370
370
|
const resolvedDetents = detents.slice(0, 3).map(detent => {
|
|
371
371
|
if (detent === 'auto' || detent === -1) return -1;
|
|
372
|
+
if (detent === 'peek' || detent === -2) return -2;
|
|
372
373
|
|
|
373
374
|
// Default to 0.1 if zero or below
|
|
374
375
|
if (detent <= 0) return 0.1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","event","OS","remove","addEventListener","setState","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollable","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","scrollableContainer","scrollableContent","create","absoluteFill","zIndex","pointerEvents","flex","position","left","right"],"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","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","event","OS","remove","addEventListener","setState","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollable","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","scrollableContainer","scrollableContent","create","absoluteFill","zIndex","pointerEvents","flex","position","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|