@lodev09/react-native-true-sheet 3.11.0 → 3.11.2

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.
@@ -7,6 +7,7 @@ import android.view.accessibility.AccessibilityEvent
7
7
  import androidx.annotation.UiThread
8
8
  import com.facebook.react.bridge.LifecycleEventListener
9
9
  import com.facebook.react.bridge.WritableNativeMap
10
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
10
11
  import com.facebook.react.uimanager.PixelUtil.pxToDp
11
12
  import com.facebook.react.uimanager.StateWrapper
12
13
  import com.facebook.react.uimanager.ThemedReactContext
@@ -283,6 +284,11 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
283
284
  setupScrollable()
284
285
  }
285
286
 
287
+ fun setFooterKeyboardOffset(offset: Float) {
288
+ viewController.footerKeyboardOffset = offset.dpToPx().toInt()
289
+ viewController.positionFooter()
290
+ }
291
+
286
292
  private fun setupScrollable() {
287
293
  viewController.containerView?.let {
288
294
  it.insetAdjustment = viewController.insetAdjustment
@@ -783,8 +783,6 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
783
783
  fun handleBackPress() {
784
784
  if (dismissible) {
785
785
  dismiss(animated = true)
786
- } else if (currentDetentIndex > 0) {
787
- setStateForDetentIndex(0)
788
786
  }
789
787
  }
790
788
 
@@ -979,6 +977,8 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
979
977
  // MARK: - Footer Positioning
980
978
  // =============================================================================
981
979
 
980
+ var footerKeyboardOffset: Int = 0
981
+
982
982
  fun positionFooter(slideOffset: Float? = null) {
983
983
  if (!isPresented) return
984
984
  val footerView = containerView?.footerView ?: return
@@ -988,7 +988,8 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
988
988
  val sheetHeight = sheet.height
989
989
  val sheetTop = sheet.top
990
990
 
991
- var footerY = (sheetHeight - sheetTop - footerHeight - currentKeyboardInset).toFloat()
991
+ val keyboardShift = if (currentKeyboardInset > 0) maxOf(0, currentKeyboardInset + footerKeyboardOffset) else 0
992
+ var footerY = (sheetHeight - sheetTop - footerHeight - keyboardShift).toFloat()
992
993
 
993
994
  // Adjust during dismiss animation when slideOffset is negative
994
995
  if (slideOffset != null && slideOffset < 0) {
@@ -230,6 +230,13 @@ class TrueSheetViewManager :
230
230
  view.setScrollableOptions(scrollableOptions)
231
231
  }
232
232
 
233
+ @ReactProp(name = "footerOptions")
234
+ override fun setFooterOptions(view: TrueSheetView, options: ReadableMap?) {
235
+ val keyboardOffset =
236
+ if (options != null && options.hasKey("keyboardOffset")) options.getDouble("keyboardOffset").toFloat() else 0f
237
+ view.setFooterKeyboardOffset(keyboardOffset)
238
+ }
239
+
233
240
  companion object {
234
241
  const val REACT_CLASS = "TrueSheetView"
235
242
  const val TAG_NAME = "TrueSheet"
@@ -72,6 +72,11 @@ NS_ASSUME_NONNULL_BEGIN
72
72
  */
73
73
  - (void)layoutFooter;
74
74
 
75
+ /**
76
+ * Re-applies the footer's keyboard slide to reflect a live `keyboardOffset` change.
77
+ */
78
+ - (void)updateFooterKeyboardOffset;
79
+
75
80
  - (BOOL)hasAccessibilityFooterElements;
76
81
 
77
82
  /**
@@ -128,6 +128,10 @@ using namespace facebook::react;
128
128
  }
129
129
  }
130
130
 
131
+ - (void)updateFooterKeyboardOffset {
132
+ [_footerView applyKeyboardOffset];
133
+ }
134
+
131
135
  - (void)setScrollableEnabled:(BOOL)scrollableEnabled {
132
136
  _scrollableEnabled = scrollableEnabled;
133
137
  _scrollableSet = YES;
@@ -29,6 +29,12 @@ NS_ASSUME_NONNULL_BEGIN
29
29
 
30
30
  - (void)setupConstraintsWithHeight:(CGFloat)height;
31
31
 
32
+ /**
33
+ * Re-applies the footer's keyboard slide using the current keyboard height.
34
+ * No-op when the keyboard is hidden. Used to reflect live `keyboardOffset` changes.
35
+ */
36
+ - (void)applyKeyboardOffset;
37
+
32
38
  @end
33
39
 
34
40
  NS_ASSUME_NONNULL_END
@@ -151,13 +151,15 @@ using namespace facebook::react;
151
151
  return;
152
152
  }
153
153
 
154
- _currentKeyboardOffset = height;
154
+ CGFloat keyboardOffset = self.keyboardObserver.viewController.footerKeyboardOffset;
155
+ CGFloat slide = MAX(0, height + keyboardOffset);
156
+ _currentKeyboardOffset = slide;
155
157
 
156
158
  [UIView animateWithDuration:duration
157
159
  delay:0
158
160
  options:curve | UIViewAnimationOptionBeginFromCurrentState
159
161
  animations:^{
160
- self->_bottomConstraint.constant = -height;
162
+ self->_bottomConstraint.constant = -slide;
161
163
  [self.superview layoutIfNeeded];
162
164
  }
163
165
  completion:nil];
@@ -180,6 +182,19 @@ using namespace facebook::react;
180
182
  completion:nil];
181
183
  }
182
184
 
185
+ - (void)applyKeyboardOffset {
186
+ CGFloat height = self.keyboardObserver.currentHeight;
187
+ if (!_bottomConstraint || height <= 0) {
188
+ return;
189
+ }
190
+
191
+ CGFloat keyboardOffset = self.keyboardObserver.viewController.footerKeyboardOffset;
192
+ CGFloat slide = MAX(0, height + keyboardOffset);
193
+ _currentKeyboardOffset = slide;
194
+ _bottomConstraint.constant = -slide;
195
+ [self.superview layoutIfNeeded];
196
+ }
197
+
183
198
  @end
184
199
 
185
200
  Class<RCTComponentViewProtocol> TrueSheetFooterViewCls(void) {
@@ -264,6 +264,12 @@ using namespace facebook::react;
264
264
 
265
265
  _controller.scrollingExpandsSheet = scrollingExpandsSheet;
266
266
 
267
+ CGFloat footerKeyboardOffset = newProps.footerOptions.keyboardOffset;
268
+ if (_controller.footerKeyboardOffset != footerKeyboardOffset) {
269
+ _controller.footerKeyboardOffset = footerKeyboardOffset;
270
+ [_containerView updateFooterKeyboardOffset];
271
+ }
272
+
267
273
  _insetAdjustment = newProps.insetAdjustment;
268
274
  _controller.insetAdjustment = _insetAdjustment;
269
275
 
@@ -699,6 +705,28 @@ using namespace facebook::react;
699
705
  }
700
706
  }
701
707
 
708
+ - (void)presenterInteractiveDismissDidBegin {
709
+ [_controller beginInteractiveDismiss];
710
+ }
711
+
712
+ - (void)presenterInteractiveDismissDidUpdate:(CGFloat)progress {
713
+ [_controller updateInteractiveDismiss:progress];
714
+ }
715
+
716
+ - (void)presenterInteractiveDismissDidEnd:(BOOL)cancelled duration:(NSTimeInterval)duration {
717
+ if (cancelled) {
718
+ [_controller cancelInteractiveDismissWithDuration:duration];
719
+ return;
720
+ }
721
+
722
+ _dismissedByNavigation = YES;
723
+ __weak __typeof(self) weakSelf = self;
724
+ [_controller finishInteractiveDismissWithDuration:duration
725
+ completion:^{
726
+ [weakSelf dismissAnimated:NO completion:nil];
727
+ }];
728
+ }
729
+
702
730
  #pragma mark - Private Helpers
703
731
 
704
732
  - (void)setupScrollable {
@@ -71,6 +71,7 @@ NS_ASSUME_NONNULL_BEGIN
71
71
  @property (nonatomic, assign) facebook::react::TrueSheetViewAnchor anchor;
72
72
  @property (nonatomic, assign) facebook::react::TrueSheetViewInsetAdjustment insetAdjustment;
73
73
  @property (nonatomic, assign) BOOL scrollingExpandsSheet;
74
+ @property (nonatomic, assign) CGFloat footerKeyboardOffset;
74
75
  @property (nonatomic, assign) BOOL dismissible;
75
76
  @property (nonatomic, assign) BOOL isPresented;
76
77
  @property (nonatomic, assign) NSInteger activeDetentIndex;
@@ -91,6 +92,11 @@ NS_ASSUME_NONNULL_BEGIN
91
92
  - (void)setupDraggable;
92
93
  - (void)setupAnchorViewInView:(UIView *)parentView;
93
94
 
95
+ - (void)beginInteractiveDismiss;
96
+ - (void)updateInteractiveDismiss:(CGFloat)progress;
97
+ - (void)cancelInteractiveDismissWithDuration:(NSTimeInterval)duration;
98
+ - (void)finishInteractiveDismissWithDuration:(NSTimeInterval)duration completion:(void (^)(void))completion;
99
+
94
100
  @end
95
101
 
96
102
  NS_ASSUME_NONNULL_END
@@ -43,6 +43,12 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
43
43
  - (void)restoreWindowAccessibilityElements;
44
44
  - (void)setSheetAccessibilityElementsHidden:(BOOL)hidden;
45
45
  - (void)setAccessibilityContentElement:(UIView *)contentView;
46
+ - (void)endInteractiveDismissState;
47
+ - (void)emitInteractivePosition;
48
+ - (void)animateInteractiveContainerToTransform:(CGAffineTransform)transform
49
+ duration:(NSTimeInterval)duration
50
+ allowUserInteraction:(BOOL)allowUserInteraction
51
+ completion:(void (^)(void))completion;
46
52
 
47
53
  @end
48
54
 
@@ -61,6 +67,12 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
61
67
  BOOL _isTrackingPositionFromLayout;
62
68
  BOOL _isWillDismissEmitted;
63
69
 
70
+ BOOL _isInteractiveDismiss;
71
+ CGFloat _interactiveStartPosition;
72
+ UIView *_interactiveContainerView;
73
+ CADisplayLink *_interactivePositionLink;
74
+ NSUInteger _interactiveGeneration;
75
+
64
76
  __weak TrueSheetViewController *_parentSheetController;
65
77
 
66
78
  UIView *_anchorView;
@@ -110,6 +122,8 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
110
122
  [self restoreWindowAccessibilityElements];
111
123
  [_transitioningTimer invalidate];
112
124
  _transitioningTimer = nil;
125
+ [_interactivePositionLink invalidate];
126
+ _interactivePositionLink = nil;
113
127
  [[NSNotificationCenter defaultCenter] removeObserver:self];
114
128
  }
115
129
 
@@ -438,13 +452,23 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
438
452
 
439
453
  - (void)viewDidDisappear:(BOOL)animated {
440
454
  [super viewDidDisappear:animated];
455
+
456
+ // Backstop: if the sheet is torn down mid-gesture (e.g. owning view deallocated),
457
+ // the observer can't reach us through its weak delegate, so end here to invalidate
458
+ // _interactivePositionLink — which otherwise retains this controller indefinitely.
459
+ if (_isInteractiveDismiss) {
460
+ [self endInteractiveDismissState];
461
+ }
462
+
441
463
  [self emitDidDismissEvents];
442
464
  }
443
465
 
444
466
  - (void)viewWillLayoutSubviews {
445
467
  [super viewWillLayoutSubviews];
446
468
 
447
- if (!_isTransitioning) {
469
+ // Skip during an interactive nav dismiss; emitInteractivePosition owns position then,
470
+ // and currentPosition (presentedView frame) stays at rest since we move the container.
471
+ if (!_isTransitioning && !_isInteractiveDismiss) {
448
472
  _isTrackingPositionFromLayout = YES;
449
473
 
450
474
  UIViewController *presented = self.presentedViewController;
@@ -650,6 +674,110 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
650
674
  }
651
675
  }
652
676
 
677
+ #pragma mark - Interactive Navigation Dismiss
678
+
679
+ - (void)beginInteractiveDismiss {
680
+ if (_isInteractiveDismiss) {
681
+ // A settle animation from a prior gesture is still running. Stop it and reset so
682
+ // this gesture tracks from a clean state; its stale completion is ignored via the
683
+ // generation check in animateInteractiveContainerToTransform.
684
+ [_interactiveContainerView.layer removeAllAnimations];
685
+ [self endInteractiveDismissState];
686
+ }
687
+
688
+ _interactiveGeneration += 1;
689
+ _isInteractiveDismiss = YES;
690
+ _interactiveStartPosition = self.currentPosition;
691
+ _interactiveContainerView = self.sheet.containerView;
692
+
693
+ // Emit position from the container's presentation layer for the whole gesture, so
694
+ // both the direct-set drag and the settle animation report a live, smooth position.
695
+ _interactivePositionLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(emitInteractivePosition)];
696
+ [_interactivePositionLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
697
+ }
698
+
699
+ - (void)emitInteractivePosition {
700
+ CALayer *presentation = _interactiveContainerView.layer.presentationLayer;
701
+ CGFloat offset = presentation ? presentation.affineTransform.ty : 0;
702
+ [self emitChangePositionDelegateWithPosition:_interactiveStartPosition + offset realtime:YES debug:@"nav swipe"];
703
+ }
704
+
705
+ // Translate the presentation container, not the sheet's presentedView (whose transform
706
+ // UISheetPresentationController owns for the floating-sheet inset). Only runs for undimmed
707
+ // sheets — a dimmed sheet's dimming view intercepts the edge-swipe so the pop never starts.
708
+ - (void)updateInteractiveDismiss:(CGFloat)progress {
709
+ if (!_isInteractiveDismiss) {
710
+ return;
711
+ }
712
+ CGFloat clamped = fmin(1, fmax(0, progress));
713
+ CGFloat dy = clamped * (self.screenHeight - _interactiveStartPosition);
714
+ _interactiveContainerView.transform = CGAffineTransformMakeTranslation(0, dy);
715
+ }
716
+
717
+ - (void)cancelInteractiveDismissWithDuration:(NSTimeInterval)duration {
718
+ if (!_isInteractiveDismiss) {
719
+ return;
720
+ }
721
+ [self animateInteractiveContainerToTransform:CGAffineTransformIdentity
722
+ duration:duration
723
+ allowUserInteraction:YES
724
+ completion:nil];
725
+ }
726
+
727
+ - (void)finishInteractiveDismissWithDuration:(NSTimeInterval)duration completion:(void (^)(void))completion {
728
+ if (!_isInteractiveDismiss) {
729
+ if (completion) {
730
+ completion();
731
+ }
732
+ return;
733
+ }
734
+ // Leave the sheet translated off-screen; the caller tears it down non-animated
735
+ // from here so there is no second slide.
736
+ CGFloat dy = self.screenHeight - _interactiveStartPosition;
737
+ [self animateInteractiveContainerToTransform:CGAffineTransformMakeTranslation(0, dy)
738
+ duration:duration
739
+ allowUserInteraction:NO
740
+ completion:completion];
741
+ }
742
+
743
+ - (void)animateInteractiveContainerToTransform:(CGAffineTransform)transform
744
+ duration:(NSTimeInterval)duration
745
+ allowUserInteraction:(BOOL)allowUserInteraction
746
+ completion:(void (^)(void))completion {
747
+ UIView *container = _interactiveContainerView;
748
+ NSUInteger generation = _interactiveGeneration;
749
+
750
+ UIViewAnimationOptions options = UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionBeginFromCurrentState;
751
+ if (allowUserInteraction) {
752
+ options |= UIViewAnimationOptionAllowUserInteraction;
753
+ }
754
+
755
+ [UIView animateWithDuration:fmax(duration, 0.2)
756
+ delay:0
757
+ options:options
758
+ animations:^{
759
+ container.transform = transform;
760
+ }
761
+ completion:^(BOOL finished) {
762
+ // A newer gesture superseded this settle and owns teardown now.
763
+ if (generation != self->_interactiveGeneration) {
764
+ return;
765
+ }
766
+ [self endInteractiveDismissState];
767
+ if (completion) {
768
+ completion();
769
+ }
770
+ }];
771
+ }
772
+
773
+ - (void)endInteractiveDismissState {
774
+ _isInteractiveDismiss = NO;
775
+ _interactiveContainerView = nil;
776
+ _interactiveStartPosition = 0;
777
+ [_interactivePositionLink invalidate];
778
+ _interactivePositionLink = nil;
779
+ }
780
+
653
781
  - (void)emitChangePositionDelegateWithPosition:(CGFloat)position realtime:(BOOL)realtime debug:(NSString *)debug {
654
782
  UIViewController *presented = self.presentedViewController;
655
783
  if (presented) {
@@ -20,6 +20,10 @@ NS_ASSUME_NONNULL_BEGIN
20
20
  - (void)presenterScreenWillDisappear;
21
21
  - (void)presenterScreenWillAppear;
22
22
 
23
+ - (void)presenterInteractiveDismissDidBegin;
24
+ - (void)presenterInteractiveDismissDidUpdate:(CGFloat)progress;
25
+ - (void)presenterInteractiveDismissDidEnd:(BOOL)cancelled duration:(NSTimeInterval)duration;
26
+
23
27
  @end
24
28
 
25
29
  /**
@@ -27,6 +27,11 @@ using namespace facebook::react;
27
27
  BOOL _dismissedByNavigation;
28
28
  BOOL _pendingInteractiveDismiss;
29
29
  BOOL _pendingInteractiveAppear;
30
+
31
+ CADisplayLink *_interactiveDisplayLink;
32
+ __weak id<UIViewControllerTransitionCoordinator> _interactiveCoordinator;
33
+ BOOL _isInteractiveTracking;
34
+ BOOL _interactiveEnded;
30
35
  }
31
36
 
32
37
  - (instancetype)init {
@@ -70,13 +75,22 @@ using namespace facebook::react;
70
75
 
71
76
  if (event.type == "topWillDisappear") {
72
77
  if (interactive) {
73
- strongSelf->_pendingInteractiveDismiss = YES;
78
+ // Track the swipe in realtime so the sheet slides closed with the screen,
79
+ // and reverses if the gesture is cancelled. Falls back to dismissing once
80
+ // the pop commits when realtime tracking can't start.
81
+ if (![strongSelf beginInteractiveTracking]) {
82
+ strongSelf->_pendingInteractiveDismiss = YES;
83
+ }
74
84
  } else if ([strongSelf shouldDismissForScreenTag:screenTag]) {
75
85
  strongSelf->_dismissedByNavigation = YES;
76
86
  [strongSelf.delegate presenterScreenWillDisappear];
77
87
  }
78
88
  } else if (event.type == "topDisappear") {
79
- if (strongSelf->_pendingInteractiveDismiss) {
89
+ if (strongSelf->_isInteractiveTracking && !strongSelf->_interactiveEnded) {
90
+ // Safety net: end as committed if the coordinator's interaction-change
91
+ // notification didn't fire before the screen finished disappearing.
92
+ [strongSelf endInteractiveTrackingCancelled:NO duration:0.3];
93
+ } else if (strongSelf->_pendingInteractiveDismiss) {
80
94
  strongSelf->_pendingInteractiveDismiss = NO;
81
95
  strongSelf->_dismissedByNavigation = YES;
82
96
  [strongSelf.delegate presenterScreenWillDisappear];
@@ -100,6 +114,10 @@ using namespace facebook::react;
100
114
  } else if (event.type == "topGestureCancel") {
101
115
  strongSelf->_pendingInteractiveDismiss = NO;
102
116
  strongSelf->_pendingInteractiveAppear = NO;
117
+ if (strongSelf->_isInteractiveTracking && !strongSelf->_interactiveEnded) {
118
+ // Safety net for cancel in case the coordinator notification didn't fire.
119
+ [strongSelf endInteractiveTrackingCancelled:YES duration:0.3];
120
+ }
103
121
  }
104
122
  }
105
123
  return false;
@@ -110,6 +128,8 @@ using namespace facebook::react;
110
128
  }
111
129
 
112
130
  - (void)stopObserving {
131
+ [self stopInteractiveTracking];
132
+
113
133
  if (_eventListener) {
114
134
  if (auto dispatcher = _eventDispatcher.lock()) {
115
135
  dispatcher->removeListener(_eventListener);
@@ -157,6 +177,67 @@ using namespace facebook::react;
157
177
  return navController.transitionCoordinator.isInteractive;
158
178
  }
159
179
 
180
+ #pragma mark - Interactive Dismiss Tracking
181
+
182
+ - (BOOL)beginInteractiveTracking {
183
+ if (_isInteractiveTracking) {
184
+ return YES;
185
+ }
186
+
187
+ UINavigationController *navController = _presenterScreenController.navigationController;
188
+ id<UIViewControllerTransitionCoordinator> coordinator = navController.transitionCoordinator;
189
+ if (!coordinator || !coordinator.isInteractive) {
190
+ return NO;
191
+ }
192
+
193
+ _isInteractiveTracking = YES;
194
+ _interactiveEnded = NO;
195
+ _interactiveCoordinator = coordinator;
196
+
197
+ [self.delegate presenterInteractiveDismissDidBegin];
198
+
199
+ _interactiveDisplayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(handleInteractiveTick)];
200
+ [_interactiveDisplayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
201
+
202
+ __weak RNScreensEventObserver *weakSelf = self;
203
+ [coordinator notifyWhenInteractionChangesUsingBlock:^(id<UIViewControllerTransitionCoordinatorContext> context) {
204
+ RNScreensEventObserver *strongSelf = weakSelf;
205
+ if (!strongSelf || strongSelf->_interactiveEnded || context.isInteractive) {
206
+ return;
207
+ }
208
+ [strongSelf endInteractiveTrackingCancelled:context.isCancelled duration:context.transitionDuration];
209
+ }];
210
+
211
+ return YES;
212
+ }
213
+
214
+ - (void)handleInteractiveTick {
215
+ if (!_isInteractiveTracking) {
216
+ return;
217
+ }
218
+ id<UIViewControllerTransitionCoordinator> coordinator = _interactiveCoordinator;
219
+ if (!coordinator) {
220
+ return;
221
+ }
222
+ [self.delegate presenterInteractiveDismissDidUpdate:coordinator.percentComplete];
223
+ }
224
+
225
+ - (void)endInteractiveTrackingCancelled:(BOOL)cancelled duration:(NSTimeInterval)duration {
226
+ if (_interactiveEnded) {
227
+ return;
228
+ }
229
+ [self stopInteractiveTracking];
230
+ [self.delegate presenterInteractiveDismissDidEnd:cancelled duration:duration];
231
+ }
232
+
233
+ - (void)stopInteractiveTracking {
234
+ _interactiveEnded = YES;
235
+ _isInteractiveTracking = NO;
236
+ _interactiveCoordinator = nil;
237
+ [_interactiveDisplayLink invalidate];
238
+ _interactiveDisplayLink = nil;
239
+ }
240
+
160
241
  - (BOOL)shouldDismissForScreenTag:(NSInteger)screenTag {
161
242
  // For parent screens (not immediate presenter), check if the presenter screen is being removed
162
243
  // This handles nested stack removal case
@@ -9,6 +9,7 @@
9
9
  #ifdef RCT_NEW_ARCH_ENABLED
10
10
 
11
11
  #import <objc/runtime.h>
12
+ #import "PlatformUtil.h"
12
13
  #import "UIView+ScrollEdgeInteraction.h"
13
14
 
14
15
  static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
@@ -16,12 +17,14 @@ static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
16
17
  @implementation UIView (ScrollEdgeInteraction)
17
18
 
18
19
  - (void)cleanupEdgeInteraction API_AVAILABLE(ios(26.0)) {
20
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
19
21
  for (id<UIInteraction> interaction in [self.interactions copy]) {
20
22
  if ([interaction isKindOfClass:[UIScrollEdgeElementContainerInteraction class]]) {
21
23
  [self removeInteraction:interaction];
22
24
  break;
23
25
  }
24
26
  }
27
+ #endif
25
28
 
26
29
  UILabel *hint = objc_getAssociatedObject(self, kEdgeEffectHintKey);
27
30
  [hint removeFromSuperview];
@@ -36,6 +39,7 @@ static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
36
39
  return;
37
40
  }
38
41
 
42
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
39
43
  // UIScrollEdgeElementContainerInteraction requires standard UIKit element
40
44
  // descendants (UILabel, UIControl, etc.) to trigger the edge effect.
41
45
  // RCTViewComponentView subviews are not recognized, so we add a
@@ -50,6 +54,7 @@ static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
50
54
  interaction.scrollView = scrollView;
51
55
  interaction.edge = edge;
52
56
  [self addInteraction:interaction];
57
+ #endif
53
58
  }
54
59
 
55
60
  @end
@@ -258,6 +258,11 @@ export class TrueSheet extends PureComponent {
258
258
  }
259
259
  handleBackPress() {
260
260
  if (!this.isPresented || !this.isSheetVisible) return false;
261
+
262
+ // When not dismissible, let back propagate (e.g. navigation goes back to the previous screen)
263
+ if (this.props.dismissible === false) {
264
+ return this.props.onBackPress?.() ?? false;
265
+ }
261
266
  TrueSheetModule?.handleBackPress(this.handle);
262
267
  return this.props.onBackPress?.() ?? true;
263
268
  }
@@ -349,6 +354,7 @@ export class TrueSheet extends PureComponent {
349
354
  anchorOffset,
350
355
  scrollable = false,
351
356
  scrollableOptions,
357
+ footerOptions,
352
358
  presentation = 'page',
353
359
  children,
354
360
  style,
@@ -402,6 +408,7 @@ export class TrueSheet extends PureComponent {
402
408
  anchorOffset: anchorOffset,
403
409
  scrollable: scrollable,
404
410
  scrollableOptions: scrollableOptions,
411
+ footerOptions: footerOptions,
405
412
  presentation: presentation,
406
413
  insetAdjustment: insetAdjustment,
407
414
  onMount: this.onMount,
@@ -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","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","draggable","grabber","grabberOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollable","scrollableOptions","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":[]}
@@ -30,6 +30,10 @@ type ScrollableOptionsType = Readonly<{
30
30
  bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
31
31
  }>;
32
32
 
33
+ type FooterOptionsType = Readonly<{
34
+ keyboardOffset?: WithDefault<Double, 0>;
35
+ }>;
36
+
33
37
  export interface DetentInfoEventPayload {
34
38
  index: Int32;
35
39
  position: Double;
@@ -101,6 +105,7 @@ export interface NativeProps extends ViewProps {
101
105
  initialDetentAnimated?: WithDefault<boolean, true>;
102
106
  scrollable?: WithDefault<boolean, false>;
103
107
  scrollableOptions?: ScrollableOptionsType;
108
+ footerOptions?: FooterOptionsType;
104
109
  presentation?: WithDefault<'page' | 'form', 'page'>;
105
110
 
106
111
  // Event handlers
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAgBjB,MAAM,mBAAmB,CAAC;AA+B3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,gBAAgB;IAE3B,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,KAAK,EAAE,cAAc;IAiCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASvF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAOvB;;;;OAIG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhF;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACU,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;OAIG;IACU,YAAY,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAsHpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAgBjB,MAAM,mBAAmB,CAAC;AA+B3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,gBAAgB;IAE3B,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,KAAK,EAAE,cAAc;IAiCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASvF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAYvB;;;;OAIG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhF;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACU,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;OAIG;IACU,YAAY,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAwHpB"}
@@ -116,6 +116,19 @@ export interface ScrollableOptions {
116
116
  */
117
117
  bottomScrollEdgeEffect?: ScrollEdgeEffect;
118
118
  }
119
+ /**
120
+ * Options for footer behavior
121
+ */
122
+ export interface FooterOptions {
123
+ /**
124
+ * Adjusts how far the footer rises when the keyboard opens.
125
+ * Positive values raise it higher; negative values reduce the rise.
126
+ * Pass `-insets.bottom` to tuck the footer's safe-area padding behind the keyboard.
127
+ *
128
+ * @default 0
129
+ */
130
+ keyboardOffset?: number;
131
+ }
119
132
  /**
120
133
  * Options for customizing the blur effect.
121
134
  * Only applies when `backgroundBlur` is set.
@@ -383,6 +396,10 @@ export interface TrueSheetProps extends ViewProps {
383
396
  * Options for scrollable behavior.
384
397
  */
385
398
  scrollableOptions?: ScrollableOptions;
399
+ /**
400
+ * Options for footer behavior.
401
+ */
402
+ footerOptions?: FooterOptions;
386
403
  /**
387
404
  * Renders the sheet as a detached floating card, not attached to the bottom edge.
388
405
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;AACnF,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IAEvC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe;AACzB;;;GAGG;AACD,WAAW;AACb;;;GAGG;GACD,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,MAAM,GACN,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,4BAA4B,GAC5B,sBAAsB,GACtB,iBAAiB,GACjB,uBAAuB,GACvB,wBAAwB,GACxB,kCAAkC,GAClC,4BAA4B,GAC5B,uBAAuB,GACvB,6BAA6B,GAC7B,8BAA8B,GAC9B,iCAAiC,GACjC,2BAA2B,GAC3B,sBAAsB,GACtB,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,WAAW;AACrB;;;;;;GAMG;AACD,MAAM;AAER;;;;;;GAMG;GACD,MAAM,CAAC;AAEX,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IAE/C;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IAE/C;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAElD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEpD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAE1C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAE1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;OAEG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
@@ -19,6 +19,9 @@ type ScrollableOptionsType = Readonly<{
19
19
  topScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
20
20
  bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
21
21
  }>;
22
+ type FooterOptionsType = Readonly<{
23
+ keyboardOffset?: WithDefault<Double, 0>;
24
+ }>;
22
25
  export interface DetentInfoEventPayload {
23
26
  index: Int32;
24
27
  position: Double;
@@ -52,6 +55,7 @@ export interface NativeProps extends ViewProps {
52
55
  initialDetentAnimated?: WithDefault<boolean, true>;
53
56
  scrollable?: WithDefault<boolean, false>;
54
57
  scrollableOptions?: ScrollableOptionsType;
58
+ footerOptions?: FooterOptionsType;
55
59
  presentation?: WithDefault<'page' | 'form', 'page'>;
56
60
  onMount?: DirectEventHandler<null>;
57
61
  onWillPresent?: DirectEventHandler<DetentInfoEventPayload>;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.11.0",
3
+ "version": "3.11.2",
4
4
  "description": "The true native bottom sheet experience for your React Native Apps.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
@@ -186,7 +186,8 @@
186
186
  "git": {
187
187
  "commitMessage": "chore: release ${version}",
188
188
  "tagName": "v${version}",
189
- "tagExclude": "*-beta*"
189
+ "tagExclude": "*-beta*",
190
+ "addUntrackedFiles": true
190
191
  },
191
192
  "npm": {
192
193
  "publish": false
@@ -202,13 +203,6 @@
202
203
  "issue": ":rocket: _This issue has been resolved in v${version}. See [${releaseName}](${releaseUrl}) for release notes._",
203
204
  "pr": ":rocket: _This pull request is included in v${version}. See [${releaseName}](${releaseUrl}) for release notes._"
204
205
  }
205
- },
206
- "plugins": {
207
- "@release-it/conventional-changelog": {
208
- "preset": {
209
- "name": "angular"
210
- }
211
- }
212
206
  }
213
207
  },
214
208
  "prettier": {
package/src/TrueSheet.tsx CHANGED
@@ -357,6 +357,11 @@ export class TrueSheet
357
357
  private handleBackPress(): boolean {
358
358
  if (!this.isPresented || !this.isSheetVisible) return false;
359
359
 
360
+ // When not dismissible, let back propagate (e.g. navigation goes back to the previous screen)
361
+ if (this.props.dismissible === false) {
362
+ return this.props.onBackPress?.() ?? false;
363
+ }
364
+
360
365
  TrueSheetModule?.handleBackPress(this.handle);
361
366
  return this.props.onBackPress?.() ?? true;
362
367
  }
@@ -454,6 +459,7 @@ export class TrueSheet
454
459
  anchorOffset,
455
460
  scrollable = false,
456
461
  scrollableOptions,
462
+ footerOptions,
457
463
  presentation = 'page',
458
464
  children,
459
465
  style,
@@ -509,6 +515,7 @@ export class TrueSheet
509
515
  anchorOffset={anchorOffset}
510
516
  scrollable={scrollable}
511
517
  scrollableOptions={scrollableOptions}
518
+ footerOptions={footerOptions}
512
519
  presentation={presentation}
513
520
  insetAdjustment={insetAdjustment}
514
521
  onMount={this.onMount}
@@ -132,6 +132,20 @@ export interface ScrollableOptions {
132
132
  bottomScrollEdgeEffect?: ScrollEdgeEffect;
133
133
  }
134
134
 
135
+ /**
136
+ * Options for footer behavior
137
+ */
138
+ export interface FooterOptions {
139
+ /**
140
+ * Adjusts how far the footer rises when the keyboard opens.
141
+ * Positive values raise it higher; negative values reduce the rise.
142
+ * Pass `-insets.bottom` to tuck the footer's safe-area padding behind the keyboard.
143
+ *
144
+ * @default 0
145
+ */
146
+ keyboardOffset?: number;
147
+ }
148
+
135
149
  /**
136
150
  * Options for customizing the blur effect.
137
151
  * Only applies when `backgroundBlur` is set.
@@ -451,6 +465,11 @@ export interface TrueSheetProps extends ViewProps {
451
465
  */
452
466
  scrollableOptions?: ScrollableOptions;
453
467
 
468
+ /**
469
+ * Options for footer behavior.
470
+ */
471
+ footerOptions?: FooterOptions;
472
+
454
473
  /**
455
474
  * Renders the sheet as a detached floating card, not attached to the bottom edge.
456
475
  *
@@ -30,6 +30,10 @@ type ScrollableOptionsType = Readonly<{
30
30
  bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
31
31
  }>;
32
32
 
33
+ type FooterOptionsType = Readonly<{
34
+ keyboardOffset?: WithDefault<Double, 0>;
35
+ }>;
36
+
33
37
  export interface DetentInfoEventPayload {
34
38
  index: Int32;
35
39
  position: Double;
@@ -101,6 +105,7 @@ export interface NativeProps extends ViewProps {
101
105
  initialDetentAnimated?: WithDefault<boolean, true>;
102
106
  scrollable?: WithDefault<boolean, false>;
103
107
  scrollableOptions?: ScrollableOptionsType;
108
+ footerOptions?: FooterOptionsType;
104
109
  presentation?: WithDefault<'page' | 'form', 'page'>;
105
110
 
106
111
  // Event handlers