@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.
Files changed (71) hide show
  1. package/RNTrueSheet.podspec +6 -2
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +69 -1
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +62 -4
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +2 -1
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekView.kt +72 -0
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekViewManager.kt +33 -0
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +7 -1
  8. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +10 -0
  9. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +24 -1
  10. package/ios/TrueSheetContainerView.h +18 -0
  11. package/ios/TrueSheetContainerView.mm +78 -1
  12. package/ios/TrueSheetContentView.mm +82 -4
  13. package/ios/TrueSheetPeekView.h +32 -0
  14. package/ios/TrueSheetPeekView.mm +99 -0
  15. package/ios/TrueSheetView.mm +19 -0
  16. package/ios/TrueSheetViewController.h +2 -0
  17. package/ios/TrueSheetViewController.mm +10 -0
  18. package/ios/core/TrueSheetDetentCalculator.h +10 -0
  19. package/ios/core/TrueSheetDetentCalculator.mm +9 -0
  20. package/ios/tvos/TrueSheetStubs.mm +152 -0
  21. package/lib/module/TrueSheet.js +2 -1
  22. package/lib/module/TrueSheet.js.map +1 -1
  23. package/lib/module/TrueSheet.web.js +104 -69
  24. package/lib/module/TrueSheet.web.js.map +1 -1
  25. package/lib/module/TrueSheetPeek.js +15 -0
  26. package/lib/module/TrueSheetPeek.js.map +1 -0
  27. package/lib/module/TrueSheetPeek.web.js +46 -0
  28. package/lib/module/TrueSheetPeek.web.js.map +1 -0
  29. package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  30. package/lib/module/index.js +1 -0
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/mocks/index.js +10 -0
  33. package/lib/module/mocks/index.js.map +1 -1
  34. package/lib/module/web/vaul/constants.js +1 -0
  35. package/lib/module/web/vaul/constants.js.map +1 -1
  36. package/lib/module/web/vaul/index.js +2 -0
  37. package/lib/module/web/vaul/index.js.map +1 -1
  38. package/lib/module/web/vaul/use-snap-points.js +6 -4
  39. package/lib/module/web/vaul/use-snap-points.js.map +1 -1
  40. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  41. package/lib/typescript/src/TrueSheet.types.d.ts +10 -0
  42. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  43. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  44. package/lib/typescript/src/TrueSheetPeek.d.ts +9 -0
  45. package/lib/typescript/src/TrueSheetPeek.d.ts.map +1 -0
  46. package/lib/typescript/src/TrueSheetPeek.web.d.ts +19 -0
  47. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -0
  48. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts +6 -0
  49. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts.map +1 -0
  50. package/lib/typescript/src/index.d.ts +1 -0
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/mocks/index.d.ts +6 -2
  53. package/lib/typescript/src/mocks/index.d.ts.map +1 -1
  54. package/lib/typescript/src/web/vaul/constants.d.ts +1 -0
  55. package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -1
  56. package/lib/typescript/src/web/vaul/index.d.ts +6 -1
  57. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
  58. package/lib/typescript/src/web/vaul/use-snap-points.d.ts +2 -1
  59. package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -1
  60. package/package.json +4 -1
  61. package/src/TrueSheet.tsx +2 -1
  62. package/src/TrueSheet.types.ts +11 -0
  63. package/src/TrueSheet.web.tsx +110 -71
  64. package/src/TrueSheetPeek.tsx +11 -0
  65. package/src/TrueSheetPeek.web.tsx +48 -0
  66. package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  67. package/src/index.ts +1 -0
  68. package/src/mocks/index.ts +8 -1
  69. package/src/web/vaul/constants.ts +2 -0
  70. package/src/web/vaul/index.tsx +7 -0
  71. 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
- CGRect responderFrame = [firstResponder convertRect:firstResponder.bounds
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
@@ -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
@@ -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 !== 'auto' && typeof detent === 'number') {
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":";;AAAA,SACEA,aAAa,EAEbC,SAAS,EAGTC,cAAc,EACdC,aAAa,QACR,OAAO;AAqBd,OAAOC,4BAA4B,MAAM,uCAAuC;AAChF,OAAOC,qCAAqC,MAAM,gDAAgD;AAClG,OAAOC,mCAAmC,MAAM,8CAA8C;AAC9F,OAAOC,kCAAkC,MAAM,6CAA6C;AAC5F,OAAOC,kCAAkC,MAAM,6CAA6C;AAE5F,OAAOC,eAAe,MAAM,kCAA+B;AAE3D,SACEC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,cAAc,EACdC,YAAY,QAEP,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtB,MAAMC,aAAa,GACjB,2FAA2F,GAC3FT,QAAQ,CAACU,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B,GAC/B,iDAAiD;AAEnD,IAAI,CAACb,eAAe,EAAE;EACpB,MAAM,IAAIc,KAAK,CAACJ,aAAa,CAAC;AAChC;AAQA,OAAO,MAAMK,SAAS,SACZxB,aAAa,CAEvB;EACEyB,WAAW,GAAG,WAAW;EAMjBC,uBAAuB,GAAmC,IAAI;EAC9DC,WAAW,GAAY,KAAK;EAC5BC,cAAc,GAAY,IAAI;;EAEtC;AACF;AACA;EACE,OAAwBC,SAAS,GAAkC,CAAC,CAAC;;EAErE;AACF;AACA;EACUC,oBAAoB,GAAwB,IAAI;;EAExD;AACF;AACA;EACUC,YAAY,GAAY,KAAK;EAErCC,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,SAAS,gBAAGjC,SAAS,CAAY,CAAC;IAEvC,IAAI,CAACkC,eAAe,CAAC,CAAC;;IAEtB;IACA,MAAMC,uBAAuB,GAC3BH,KAAK,CAACI,kBAAkB,KAAKC,SAAS,IAAIL,KAAK,CAACI,kBAAkB,IAAI,CAAC;IAEzE,IAAI,CAACE,KAAK,GAAG;MACXC,sBAAsB,EAAEJ;IAC1B,CAAC;IAED,IAAI,CAACK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;IACtC,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACG,aAAa,GAAG,IAAI,CAACA,aAAa,CAACH,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACK,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACM,WAAW,GAAG,IAAI,CAACA,WAAW,CAACN,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,SAAS,GAAG,IAAI,CAACA,SAAS,CAACR,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACS,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACT,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACU,WAAW,GAAG,IAAI,CAACA,WAAW,CAACV,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACW,UAAU,GAAG,IAAI,CAACA,UAAU,CAACX,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACY,UAAU,GAAG,IAAI,CAACA,UAAU,CAACZ,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACa,SAAS,GAAG,IAAI,CAACA,SAAS,CAACb,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACc,eAAe,GAAG,IAAI,CAACA,eAAe,CAACd,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACe,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACf,IAAI,CAAC,IAAI,CAAC;EAC9D;EAEQP,eAAeA,CAAA,EAAS;IAC9B,MAAM;MAAEuB,OAAO;MAAErB;IAAmB,CAAC,GAAG,IAAI,CAACJ,KAAK;;IAElD;IACA,IAAIyB,OAAO,IAAIA,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;MACjCC,OAAO,CAACC,IAAI,CACV,gCAAgCH,OAAO,CAACC,MAAM,yDAChD,CAAC;IACH;;IAEA;IACA,IAAID,OAAO,EAAE;MACXA,OAAO,CAACI,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;QACjC,IAAID,MAAM,KAAK,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;UACnD,IAAIA,MAAM,IAAI,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE;YAC7BH,OAAO,CAACC,IAAI,CACV,8BAA8BG,KAAK,KAAKD,MAAM,kDAChD,CAAC;UACH;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;IACA,IAAI1B,kBAAkB,KAAKC,SAAS,IAAID,kBAAkB,IAAI,CAAC,EAAE;MAC/D,MAAM4B,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACT,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD,IAAItB,kBAAkB,IAAI4B,aAAa,EAAE;QACvC,MAAM,IAAI1C,KAAK,CACb,kCAAkCc,kBAAkB,yCAAyC4B,aAAa,UAC5G,CAAC;MACH;IACF;EACF;EAEA,OAAeG,WAAWA,CAACC,IAAY,EAAE;IACvC,MAAMC,QAAQ,GAAG9C,SAAS,CAACK,SAAS,CAACwC,IAAI,CAAC;IAC1C,IAAI,CAACC,QAAQ,EAAE;MACbV,OAAO,CAACC,IAAI,CAAC,gDAAgDQ,IAAI,0BAA0B,CAAC;MAC5F;IACF;IAEA,OAAOC,QAAQ;EACjB;EAEA,IAAYC,MAAMA,CAAA,EAAW;IAC3B,MAAMC,UAAU,GAAG3D,cAAc,CAAC,IAAI,CAACqB,SAAS,CAACuC,OAAO,CAAC;IACzD,IAAID,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAE;MAC3C,MAAM,IAAIjD,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,OAAOiD,UAAU;EACnB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,OAAOA,CACzBL,IAAY,EACZL,KAAa,GAAG,CAAC,EACjBW,QAAiB,GAAG,IAAI,EACT;IACf,MAAML,QAAQ,GAAG9C,SAAS,CAAC4C,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI/C,KAAK,CAAC,oBAAoB8C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACI,OAAO,CAACV,KAAK,EAAEW,QAAQ,CAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBC,OAAOA,CAACP,IAAY,EAAEM,QAAiB,GAAG,IAAI,EAAiB;IACjF,MAAML,QAAQ,GAAG9C,SAAS,CAAC4C,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI/C,KAAK,CAAC,oBAAoB8C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACM,OAAO,CAACD,QAAQ,CAAC;EACnC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,YAAYA,CAACR,IAAY,EAAEM,QAAiB,GAAG,IAAI,EAAiB;IACtF,MAAML,QAAQ,GAAG9C,SAAS,CAAC4C,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI/C,KAAK,CAAC,oBAAoB8C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACO,YAAY,CAACF,QAAQ,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBG,MAAMA,CAACT,IAAY,EAAEL,KAAa,EAAiB;IACrE,MAAMM,QAAQ,GAAG9C,SAAS,CAAC4C,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI/C,KAAK,CAAC,oBAAoB8C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACQ,MAAM,CAACd,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBe,UAAUA,CAACJ,QAAiB,GAAG,IAAI,EAAiB;IACtE,OAAOlE,eAAe,EAAEsE,UAAU,CAACJ,QAAQ,CAAC;EAC9C;EAEQK,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,IAAI,CAAC/C,KAAK,CAACoC,IAAI,EAAE;MACnB7C,SAAS,CAACK,SAAS,CAAC,IAAI,CAACI,KAAK,CAACoC,IAAI,CAAC,GAAG,IAAI;IAC7C;EACF;EAEQY,kBAAkBA,CAAA,EAAS;IACjC,IAAI,IAAI,CAAChD,KAAK,CAACoC,IAAI,EAAE;MACnB,OAAO7C,SAAS,CAACK,SAAS,CAAC,IAAI,CAACI,KAAK,CAACoC,IAAI,CAAC;IAC7C;EACF;EAEQtB,cAAcA,CAACmC,KAAwB,EAAQ;IACrD,IAAI,CAACjD,KAAK,CAACc,cAAc,GAAGmC,KAAK,CAAC;EACpC;EAEQrC,aAAaA,CAACqC,KAAuB,EAAQ;IACnD,IAAI,CAACjD,KAAK,CAACY,aAAa,GAAGqC,KAAK,CAAC;EACnC;EAEQpC,YAAYA,CAACoC,KAAsB,EAAQ;IACjD,IAAI,CAACvD,WAAW,GAAG,IAAI;IAEvB,IAAIjB,QAAQ,CAACyE,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,CAACzD,uBAAuB,EAAE0D,MAAM,CAAC,CAAC;MACtC,IAAI,CAAC1D,uBAAuB,GAAGd,WAAW,CAACyE,gBAAgB,CACzD,mBAAmB,EACnB,IAAI,CAAC7B,eACP,CAAC;IACH;IAEA,IAAI,CAACvB,KAAK,CAACa,YAAY,GAAGoC,KAAK,CAAC;EAClC;EAEQvC,aAAaA,CAACuC,KAAuB,EAAQ;IACnD,IAAI,CAACjD,KAAK,CAACU,aAAa,GAAGuC,KAAK,CAAC;EACnC;EAEQtC,YAAYA,CAACsC,KAAsB,EAAQ;IACjD,IAAI,CAACvD,WAAW,GAAG,KAAK;IACxB,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACF,uBAAuB,EAAE0D,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC1D,uBAAuB,GAAG,IAAI;;IAEnC;IACA;IACA,IAAI,CAAC,IAAI,CAACK,YAAY,EAAE;MACtB,IAAI,CAACuD,QAAQ,CAAC;QAAE9C,sBAAsB,EAAE;MAAM,CAAC,CAAC;IAClD;IAEA,IAAI,CAACP,KAAK,CAACW,YAAY,GAAGsC,KAAK,CAAC;EAClC;EAEQzC,OAAOA,CAACyC,KAAiB,EAAQ;IACvC;IACA,IAAI,IAAI,CAACpD,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACA,oBAAoB,GAAG,IAAI;IAClC;IAEA,IAAI,CAACG,KAAK,CAACQ,OAAO,GAAGyC,KAAK,CAAC;EAC7B;EAEQlC,WAAWA,CAACkC,KAAqB,EAAQ;IAC/C,IAAI,CAACjD,KAAK,CAACe,WAAW,GAAGkC,KAAK,CAAC;EACjC;EAEQjC,YAAYA,CAACiC,KAAsB,EAAQ;IACjD,IAAI,CAACjD,KAAK,CAACgB,YAAY,GAAGiC,KAAK,CAAC;EAClC;EAEQhC,SAASA,CAACgC,KAAmB,EAAQ;IAC3C,IAAI,CAACjD,KAAK,CAACiB,SAAS,GAAGgC,KAAK,CAAC;EAC/B;EAEQ/B,gBAAgBA,CAAC+B,KAA0B,EAAQ;IACzD,IAAI,CAACjD,KAAK,CAACkB,gBAAgB,GAAG+B,KAAK,CAAC;EACtC;EAEQ9B,WAAWA,CAAC8B,KAAqB,EAAQ;IAC/C,IAAI,CAACjD,KAAK,CAACmB,WAAW,GAAG8B,KAAK,CAAC;EACjC;EAEQ7B,UAAUA,CAAC6B,KAAoB,EAAQ;IAC7C,IAAI,CAACjD,KAAK,CAACoB,UAAU,GAAG6B,KAAK,CAAC;EAChC;EAEQ5B,UAAUA,CAAC4B,KAAoB,EAAQ;IAC7C,IAAI,CAACjD,KAAK,CAACqB,UAAU,GAAG4B,KAAK,CAAC;EAChC;EAEQ3B,SAASA,CAAC2B,KAAmB,EAAQ;IAC3C,IAAI,CAACjD,KAAK,CAACsB,SAAS,GAAG2B,KAAK,CAAC;EAC/B;EAEQzB,kBAAkBA,CAACyB,KAA4C,EAAQ;IAC7E,IAAI,CAACtD,cAAc,GAAGsD,KAAK,CAACK,WAAW,CAACC,OAAO;EACjD;EAEQhC,eAAeA,CAAA,EAAY;IACjC,IAAI,CAAC,IAAI,CAAC7B,WAAW,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE,OAAO,KAAK;;IAE3D;IACA,IAAI,IAAI,CAACK,KAAK,CAACwD,WAAW,KAAK,KAAK,EAAE;MACpC,OAAO,IAAI,CAACxD,KAAK,CAACyD,WAAW,GAAG,CAAC,IAAI,KAAK;IAC5C;IAEAjF,eAAe,EAAE+C,eAAe,CAAC,IAAI,CAACe,MAAM,CAAC;IAC7C,OAAO,IAAI,CAACtC,KAAK,CAACyD,WAAW,GAAG,CAAC,IAAI,IAAI;EAC3C;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAahB,OAAOA,CAACV,KAAa,GAAG,CAAC,EAAEW,QAAiB,GAAG,IAAI,EAAiB;IAC/E,MAAMV,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAAClC,KAAK,CAACyB,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,IAAIK,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIC,aAAa,EAAE;MACvC,MAAM,IAAI1C,KAAK,CACb,6BAA6ByC,KAAK,yCAAyCC,aAAa,UAC1F,CAAC;IACH;IAEA,IAAI,CAAClC,YAAY,GAAG,IAAI;;IAExB;IACA,IAAI,CAAC,IAAI,CAACQ,KAAK,CAACC,sBAAsB,EAAE;MACtC,MAAM,IAAImD,OAAO,CAAQC,OAAO,IAAK;QACnC,IAAI,CAAC9D,oBAAoB,GAAG8D,OAAO;QACnC,IAAI,CAACN,QAAQ,CAAC;UAAE9C,sBAAsB,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC;IACJ;IAEA,MAAM/B,eAAe,EAAEoF,YAAY,CAAC,IAAI,CAACtB,MAAM,EAAEP,KAAK,EAAEW,QAAQ,CAAC;IACjE,IAAI,CAAC5C,YAAY,GAAG,KAAK;EAC3B;;EAEA;AACF;AACA;AACA;EACE,MAAa+C,MAAMA,CAACd,KAAa,EAAiB;IAChD,MAAMvD,eAAe,EAAEqF,WAAW,CAAC,IAAI,CAACvB,MAAM,EAAEP,KAAK,CAAC;EACxD;;EAEA;AACF;AACA;AACA;EACE,MAAaY,OAAOA,CAACD,QAAiB,GAAG,IAAI,EAAiB;IAC5D,OAAOlE,eAAe,EAAEsF,YAAY,CAAC,IAAI,CAACxB,MAAM,EAAEI,QAAQ,CAAC;EAC7D;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAaE,YAAYA,CAACF,QAAiB,GAAG,IAAI,EAAiB;IACjE,OAAOlE,eAAe,EAAEuF,iBAAiB,CAAC,IAAI,CAACzB,MAAM,EAAEI,QAAQ,CAAC;EAClE;EAEAsB,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACjB,gBAAgB,CAAC,CAAC;EACzB;EAEAkB,kBAAkBA,CAACC,SAAyB,EAAQ;IAClD,IAAI,CAACnB,gBAAgB,CAAC,CAAC;;IAEvB;IACA,IAAImB,SAAS,CAACzC,OAAO,KAAK,IAAI,CAACzB,KAAK,CAACyB,OAAO,EAAE;MAC5C,IAAI,CAACvB,eAAe,CAAC,CAAC;IACxB;EACF;EAEAiE,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACnB,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACvD,uBAAuB,EAAE0D,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC1D,uBAAuB,GAAG,IAAI;IACnC,IAAI,CAACI,oBAAoB,GAAG,IAAI;EAClC;EAEAuE,MAAMA,CAAA,EAAc;IAClB,MAAM;MACJ3C,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;MAClB4C,eAAe;MACfb,WAAW,GAAG,IAAI;MAClBc,SAAS,GAAG,IAAI;MAChBC,OAAO,GAAG,IAAI;MACdC,cAAc;MACdC,MAAM,GAAG,IAAI;MACbrE,kBAAkB,GAAG,CAAC,CAAC;MACvBsE,qBAAqB,GAAG,IAAI;MAC5BC,iBAAiB;MACjBC,cAAc;MACdC,WAAW;MACXC,YAAY;MACZC,gBAAgB;MAChBC,eAAe;MACfC,MAAM,GAAG,QAAQ;MACjBC,YAAY;MACZC,UAAU,GAAG,KAAK;MAClBC,iBAAiB;MACjBC,aAAa;MACbC,YAAY,GAAG,MAAM;MACrBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC,WAAW;MACXC,MAAM;MACNC,WAAW;MACXC,eAAe,GAAG,WAAW;MAC7B,GAAGC;IACL,CAAC,GAAG,IAAI,CAAC9F,KAAK;;IAEd;IACA,MAAM+F,eAAe,GAAGtE,OAAO,CAACuE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAEnE,MAAM,IAAK;MAC1D,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;MAEjD;MACA,IAAIA,MAAM,IAAI,CAAC,EAAE,OAAO,GAAG;;MAE3B;MACA,OAAOG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,MAAM,CAAC;IAC5B,CAAC,CAAC;;IAEF;IACA,IAAI0C,cAAc,KAAK,IAAI,CAAC0B,oBAAoB,EAAE;MAChD,IAAI,CAACA,oBAAoB,GAAG1B,cAAc;MAC1C,IAAI,CAAC2B,sBAAsB,GAAG;QAC5B,GAAG3B,cAAc;QACjB4B,KAAK,EAAEvH,YAAY,CAAC2F,cAAc,EAAE4B,KAAK;MAC3C,CAAC;IACH;IAEA,oBACErH,IAAA,CAACZ,4BAA4B;MAAA,GACvB2H,IAAI;MACRO,GAAG,EAAE,IAAI,CAACpG,SAAU;MACpBuF,KAAK,EAAEc,MAAM,CAACC,SAAU;MACxB9E,OAAO,EAAEsE,eAAgB;MACzBnB,cAAc,EAAEA,cAAe;MAC/BC,WAAW,EAAEA,WAAY;MACzBR,eAAe,EAAEA,eAAgB;MACjCS,YAAY,EAAEA,YAAa;MAC3BP,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAE,IAAI,CAAC2B,sBAAuB;MAC5C1B,MAAM,EAAEA,MAAO;MACfE,iBAAiB,EAAEA,iBAAkB;MACrCvE,kBAAkB,EAAEA,kBAAmB;MACvCsE,qBAAqB,EAAEA,qBAAsB;MAC7ClB,WAAW,EAAEA,WAAY;MACzBc,SAAS,EAAEA,SAAU;MACrBS,gBAAgB,EAAEA,gBAAiB;MACnCC,eAAe,EAAEA,eAAgB;MACjCC,MAAM,EAAEA,MAAO;MACfC,YAAY,EAAEA,YAAa;MAC3BC,UAAU,EAAEA,UAAW;MACvBC,iBAAiB,EAAEA,iBAAkB;MACrCC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BO,eAAe,EAAEA,eAAgB;MACjCrF,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBI,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCH,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCG,cAAc,EAAE,IAAI,CAACA,cAAe;MACpCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;MACxCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,UAAU,EAAE,IAAI,CAACA,UAAW;MAC5BC,UAAU,EAAE,IAAI,CAACA,UAAW;MAC5BC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BE,kBAAkB,EAAE,IAAI,CAACA,kBAAmB;MAAA+D,QAAA,EAE3C,IAAI,CAACjF,KAAK,CAACC,sBAAsB,iBAChCtB,KAAA,CAACb,qCAAqC;QACpCoH,KAAK,EAAEL,UAAU,GAAGmB,MAAM,CAACE,mBAAmB,GAAGnG,SAAU;QAAAkF,QAAA,GAE1DE,MAAM,iBACL1G,IAAA,CAACT,kCAAkC;UAACkH,KAAK,EAAE,CAACc,MAAM,CAACb,MAAM,EAAEC,WAAW,CAAE;UAAAH,QAAA,EACrE,aAAAtH,cAAc,CAACwH,MAAM,CAAC,GAAGA,MAAM,gBAAGvH,aAAa,CAACuH,MAAM;QAAC,CACtB,CACrC,eACD1G,IAAA,CAACV,mCAAmC;UAClCmH,KAAK,EAAEL,UAAU,GAAG,CAACK,KAAK,EAAEc,MAAM,CAACG,iBAAiB,CAAC,GAAGjB,KAAM;UAAAD,QAAA,EAE7DA;QAAQ,CAC0B,CAAC,EACrCI,MAAM,iBACL5G,IAAA,CAACR,kCAAkC;UAACiH,KAAK,EAAE,CAACc,MAAM,CAACX,MAAM,EAAEC,WAAW,CAAE;UAAAL,QAAA,EACrE,aAAAtH,cAAc,CAAC0H,MAAM,CAAC,GAAGA,MAAM,gBAAGzH,aAAa,CAACyH,MAAM;QAAC,CACtB,CACrC;MAAA,CACoC;IACxC,CAC2B,CAAC;EAEnC;AACF;;AAEA;AACApG,SAAS;AAET,MAAM+G,MAAM,GAAG5H,UAAU,CAACgI,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACT,GAAG7H,UAAU,CAACiI,YAAY;IAC1BC,MAAM,EAAE,CAAC,IAAI;IACbC,aAAa,EAAE;EACjB,CAAC;EACDL,mBAAmB,EAAE;IACnB,GAAG9H,UAAU,CAACiI;EAChB,CAAC;EACDF,iBAAiB,EAAE;IACjBK,IAAI,EAAE;EACR,CAAC;EACDrB,MAAM,EAAE;IACNoB,aAAa,EAAE;EACjB,CAAC;EACDlB,MAAM,EAAE;IACNkB,aAAa,EAAE,UAAU;IACzBE,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","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":[]}