@lodev09/react-native-true-sheet 4.0.0-beta.14 → 4.0.0-beta.16

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 (74) hide show
  1. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +28 -6
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +99 -7
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +12 -0
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayView.kt +11 -1
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +18 -7
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +40 -39
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +18 -8
  8. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +14 -8
  9. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +8 -1
  10. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +32 -5
  11. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDimView.kt +3 -0
  12. package/ios/TrueSheetContainerView.h +17 -4
  13. package/ios/TrueSheetContainerView.mm +23 -6
  14. package/ios/TrueSheetContentView.h +13 -1
  15. package/ios/TrueSheetContentView.mm +93 -35
  16. package/ios/TrueSheetFooterView.mm +46 -16
  17. package/ios/TrueSheetView.mm +30 -28
  18. package/ios/TrueSheetViewController.h +21 -1
  19. package/ios/TrueSheetViewController.mm +54 -16
  20. package/ios/core/TrueSheetDetentCalculator.h +6 -1
  21. package/ios/core/TrueSheetDetentCalculator.mm +9 -4
  22. package/ios/core/TrueSheetKeyboardObserver.mm +2 -0
  23. package/lib/module/TrueSheet.js +8 -5
  24. package/lib/module/TrueSheet.js.map +1 -1
  25. package/lib/module/TrueSheet.web.js +93 -218
  26. package/lib/module/TrueSheet.web.js.map +1 -1
  27. package/lib/module/TrueSheetPeek.web.js +20 -15
  28. package/lib/module/TrueSheetPeek.web.js.map +1 -1
  29. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +5 -3
  30. package/lib/module/navigation/expo-router/index.js +5 -4
  31. package/lib/module/navigation/expo-router/index.js.map +1 -1
  32. package/lib/module/web/constants.js +1 -1
  33. package/lib/module/web/constants.js.map +1 -1
  34. package/lib/module/web/layout.js +168 -0
  35. package/lib/module/web/layout.js.map +1 -0
  36. package/lib/module/web/vaul/helpers.js +1 -0
  37. package/lib/module/web/vaul/helpers.js.map +1 -1
  38. package/lib/module/web/vaul/index.js +9 -4
  39. package/lib/module/web/vaul/index.js.map +1 -1
  40. package/lib/module/web/vaul/use-snap-points.js +6 -8
  41. package/lib/module/web/vaul/use-snap-points.js.map +1 -1
  42. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  43. package/lib/typescript/src/TrueSheet.types.d.ts +64 -25
  44. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  45. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  46. package/lib/typescript/src/TrueSheetPeek.web.d.ts +8 -4
  47. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -1
  48. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +5 -3
  49. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  50. package/lib/typescript/src/navigation/expo-router/index.d.ts +5 -3
  51. package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -1
  52. package/lib/typescript/src/navigation/types.d.ts +1 -1
  53. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  54. package/lib/typescript/src/web/constants.d.ts +1 -1
  55. package/lib/typescript/src/web/constants.d.ts.map +1 -1
  56. package/lib/typescript/src/web/layout.d.ts +19 -0
  57. package/lib/typescript/src/web/layout.d.ts.map +1 -0
  58. package/lib/typescript/src/web/vaul/helpers.d.ts +1 -0
  59. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -1
  60. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
  61. package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -1
  62. package/package.json +7 -6
  63. package/src/TrueSheet.tsx +7 -4
  64. package/src/TrueSheet.types.ts +67 -25
  65. package/src/TrueSheet.web.tsx +132 -263
  66. package/src/TrueSheetPeek.web.tsx +25 -23
  67. package/src/fabric/TrueSheetViewNativeComponent.ts +5 -3
  68. package/src/navigation/expo-router/index.ts +8 -11
  69. package/src/navigation/types.ts +3 -2
  70. package/src/web/constants.ts +1 -1
  71. package/src/web/layout.ts +196 -0
  72. package/src/web/vaul/helpers.ts +5 -0
  73. package/src/web/vaul/index.tsx +21 -4
  74. package/src/web/vaul/use-snap-points.ts +6 -14
@@ -244,6 +244,8 @@ using namespace facebook::react;
244
244
  _controller.blurIntensity = blurOpts.intensity >= 0 ? @(blurOpts.intensity) : nil;
245
245
  _controller.blurInteraction = blurOpts.interaction;
246
246
 
247
+ _controller.glass = newProps.glass;
248
+
247
249
  // Corner radius
248
250
  _controller.cornerRadius = newProps.cornerRadius < 0 ? nil : @(newProps.cornerRadius);
249
251
 
@@ -253,8 +255,7 @@ using namespace facebook::react;
253
255
  // Content width
254
256
  _controller.maxContentWidth = newProps.maxContentWidth != 0.0 ? @(newProps.maxContentWidth) : nil;
255
257
 
256
- // Anchor
257
- _controller.anchor = newProps.anchor;
258
+ _controller.placement = newProps.placement;
258
259
 
259
260
  _controller.grabber = newProps.grabber;
260
261
 
@@ -300,36 +301,35 @@ using namespace facebook::react;
300
301
  _scrollableHandle = newProps.scrollableHandle;
301
302
 
302
303
  const auto &scrollableOpts = newProps.scrollableOptions;
303
- BOOL scrollingExpandsSheet = scrollableOpts.scrollingExpandsSheet;
304
- BOOL contentInsetAdjustment = scrollableOpts.contentInsetAdjustmentBehavior;
305
- auto topEdgeEffect = scrollableOpts.topScrollEdgeEffect;
306
- auto bottomEdgeEffect = scrollableOpts.bottomScrollEdgeEffect;
307
- BOOL hasScrollableOptions = scrollableOpts.keyboardScrollOffset > 0 || scrollableOpts.keyboardOffset != 0 ||
308
- !scrollingExpandsSheet || !contentInsetAdjustment ||
309
- topEdgeEffect != TrueSheetViewTopScrollEdgeEffect::Hidden ||
310
- bottomEdgeEffect != TrueSheetViewBottomScrollEdgeEffect::Hidden;
311
-
312
- if (hasScrollableOptions) {
313
- ScrollableOptions *options = [[ScrollableOptions alloc] init];
314
- options.contentInsetAdjustment = contentInsetAdjustment;
315
- options.keyboardScrollOffset = scrollableOpts.keyboardScrollOffset;
316
- options.keyboardOffset = scrollableOpts.keyboardOffset;
317
- options.scrollingExpandsSheet = scrollingExpandsSheet;
318
- options.topScrollEdgeEffect = topEdgeEffect;
319
- options.bottomScrollEdgeEffect = bottomEdgeEffect;
320
- _scrollableOptions = options;
321
- } else {
322
- _scrollableOptions = nil;
323
- }
324
-
325
- _controller.scrollingExpandsSheet = scrollingExpandsSheet;
304
+ ScrollableOptions *options = [[ScrollableOptions alloc] init];
305
+ options.contentInsetAdjustment = scrollableOpts.contentInsetAdjustment;
306
+ options.keyboardScrollOffset = scrollableOpts.keyboardScrollOffset;
307
+ options.keyboardOffset = scrollableOpts.keyboardOffset;
308
+ options.scrollingExpandsSheet = scrollableOpts.scrollingExpandsSheet;
309
+ options.topScrollEdgeEffect = scrollableOpts.topScrollEdgeEffect;
310
+ options.bottomScrollEdgeEffect = scrollableOpts.bottomScrollEdgeEffect;
311
+
312
+ // nil while every option is at its default
313
+ BOOL hasScrollableOptions = options.keyboardScrollOffset > 0 || options.keyboardOffset != 0 ||
314
+ !options.scrollingExpandsSheet ||
315
+ options.contentInsetAdjustment != TrueSheetViewContentInsetAdjustment::Automatic ||
316
+ options.topScrollEdgeEffect != TrueSheetViewTopScrollEdgeEffect::Hidden ||
317
+ options.bottomScrollEdgeEffect != TrueSheetViewBottomScrollEdgeEffect::Hidden;
318
+ _scrollableOptions = hasScrollableOptions ? options : nil;
319
+
320
+ _controller.scrollingExpandsSheet = options.scrollingExpandsSheet;
326
321
 
327
322
  _controller.absoluteHeader = newProps.headerOptions.position == TrueSheetViewPosition::Absolute;
328
323
  _controller.absoluteFooter = newProps.footerOptions.footerPosition == TrueSheetViewFooterPosition::Absolute;
324
+ _controller.footerInsetAdjustment =
325
+ options.footerInsetAdjustment && _controller.absoluteFooter && _scrollableHandle > 0;
329
326
 
330
327
  CGFloat footerKeyboardOffset = newProps.footerOptions.keyboardOffset;
331
- if (_controller.footerKeyboardOffset != footerKeyboardOffset) {
328
+ BOOL footerAvoidsKeyboard = newProps.footerOptions.avoidKeyboard;
329
+ if (_controller.footerKeyboardOffset != footerKeyboardOffset ||
330
+ _controller.footerAvoidsKeyboard != footerAvoidsKeyboard) {
332
331
  _controller.footerKeyboardOffset = footerKeyboardOffset;
332
+ _controller.footerAvoidsKeyboard = footerAvoidsKeyboard;
333
333
  [_containerView updateFooterKeyboardOffset];
334
334
  }
335
335
 
@@ -831,6 +831,7 @@ using namespace facebook::react;
831
831
 
832
832
  - (void)viewControllerSafeAreaInsetsDidChange {
833
833
  [self refreshFooterBottomInset];
834
+ [_containerView updateFooterKeyboardOffset];
834
835
  }
835
836
 
836
837
  - (void)viewControllerWillFocus {
@@ -900,8 +901,9 @@ using namespace facebook::react;
900
901
 
901
902
  _containerView.scrollableOptions = _scrollableOptions;
902
903
  _containerView.scrollableHandle = _scrollableHandle;
903
- _containerView.contentInsetAdjustment = (_scrollableOptions ? _scrollableOptions.contentInsetAdjustment : YES) &&
904
- _insetAdjustment == TrueSheetViewInsetAdjustment::Automatic;
904
+ _containerView.safeAreaInsetAdjustment = (_scrollableOptions ? _scrollableOptions.safeAreaInsetAdjustment : YES) &&
905
+ _insetAdjustment == TrueSheetViewInsetAdjustment::Automatic;
906
+ _containerView.footerInsetAdjustment = _controller.footerInsetAdjustment;
905
907
  [self refreshFooterBottomInset];
906
908
  [_containerView setupScrollable];
907
909
  }
@@ -62,6 +62,13 @@ NS_ASSUME_NONNULL_BEGIN
62
62
  @property (nonatomic, assign) BOOL absoluteHeader;
63
63
  @property (nonatomic, strong, nullable) NSNumber *footerHeight;
64
64
  @property (nonatomic, assign) BOOL absoluteFooter;
65
+
66
+ /**
67
+ * YES while the plugged scrollable is padded by the absolute footer's height
68
+ * (see ScrollableOptions.contentInsetAdjustment) — the footer then counts
69
+ * toward the auto detent like a relative one, so the content ends above it.
70
+ */
71
+ @property (nonatomic, assign) BOOL footerInsetAdjustment;
65
72
  @property (nonatomic, strong, nullable) NSNumber *peekContentHeight;
66
73
  @property (nonatomic, strong, nullable) UIColor *backgroundColor;
67
74
  @property (nonatomic, strong, nullable) NSNumber *cornerRadius;
@@ -74,11 +81,18 @@ NS_ASSUME_NONNULL_BEGIN
74
81
  @property (nonatomic, assign) facebook::react::TrueSheetViewBackgroundBlur backgroundBlur;
75
82
  @property (nonatomic, strong, nullable) NSNumber *blurIntensity;
76
83
  @property (nonatomic, assign) BOOL blurInteraction;
84
+ @property (nonatomic, assign) BOOL glass;
77
85
  @property (nonatomic, assign) facebook::react::TrueSheetViewPresentation presentation;
78
- @property (nonatomic, assign) facebook::react::TrueSheetViewAnchor anchor;
86
+ @property (nonatomic, assign) facebook::react::TrueSheetViewPlacement placement;
79
87
  @property (nonatomic, assign) facebook::react::TrueSheetViewInsetAdjustment insetAdjustment;
80
88
  @property (nonatomic, assign) BOOL scrollingExpandsSheet;
81
89
  @property (nonatomic, assign) CGFloat footerKeyboardOffset;
90
+
91
+ /**
92
+ * NO keeps an absolute footer pinned to the sheet's bottom edge behind the
93
+ * keyboard instead of rising above it.
94
+ */
95
+ @property (nonatomic, assign) BOOL footerAvoidsKeyboard;
82
96
  @property (nonatomic, assign) BOOL dismissible;
83
97
  @property (nonatomic, assign) BOOL isPresented;
84
98
  @property (nonatomic, assign) NSInteger activeDetentIndex;
@@ -89,6 +103,12 @@ NS_ASSUME_NONNULL_BEGIN
89
103
  * ~keyboardHeight into the learned offset.
90
104
  */
91
105
  @property (nonatomic, assign) BOOL keyboardSheetGrown;
106
+
107
+ /**
108
+ * Target keyboard height, set as soon as the keyboard frame change is
109
+ * announced — ahead of the grow/shrink animation, unlike keyboardSheetGrown.
110
+ */
111
+ @property (nonatomic, assign) CGFloat keyboardHeight;
92
112
  @property (nonatomic, readonly) BOOL isTopmostPresentedController;
93
113
  @property (nonatomic, readonly) BOOL isStackedBehindChild;
94
114
  @property (nonatomic, weak, nullable) UIView *accessibilityContentView;
@@ -119,6 +119,7 @@ static char TrueSheetAccessibilityWindowPreviousElementsKey;
119
119
  _grabber = YES;
120
120
  _draggable = YES;
121
121
  _scrollingExpandsSheet = YES;
122
+ _footerAvoidsKeyboard = YES;
122
123
  _dismissible = YES;
123
124
  _dimmed = YES;
124
125
  _dimmedDetentIndex = @(0);
@@ -268,7 +269,6 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
268
269
  * unpadded.
269
270
  */
270
271
  - (CGFloat)maxNaturalDetentHeight {
271
- CGFloat applied = [self.footerHeight floatValue] > 0 ? _appliedFooterBottomInset : 0;
272
272
  CGFloat maxHeight = 0;
273
273
 
274
274
  for (id detent in self.detents) {
@@ -279,11 +279,9 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
279
279
  CGFloat value = [detent doubleValue];
280
280
  CGFloat height = 0;
281
281
  if (value == -1) {
282
- // Auto counts a relative footer's (padded) height
283
- height = [_detentCalculator autoHeight] - (_absoluteFooter ? 0 : applied);
282
+ height = [_detentCalculator autoHeightForKeyboardHeight:0] - [self autoDetentBottomInset];
284
283
  } else if (value == -2) {
285
- // Peek counts an absolute footer's (padded) height
286
- height = [_detentCalculator peekHeight] - (_absoluteFooter ? applied : 0);
284
+ height = [_detentCalculator peekHeight] - [self peekDetentBottomInset];
287
285
  } else if (value > 0 && value <= 1) {
288
286
  height = value * self.screenHeight;
289
287
  }
@@ -331,14 +329,27 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
331
329
  return [self bottomSafeAreaForHeight:[self maxNaturalDetentHeight]];
332
330
  }
333
331
 
332
+ // Re-resolve alongside the keyboard animation as its overlap with the pinned
333
+ // footer changes, including keyboard height changes while already visible.
334
+ - (void)setKeyboardHeight:(CGFloat)keyboardHeight {
335
+ if (_keyboardHeight == keyboardHeight) {
336
+ return;
337
+ }
338
+ _keyboardHeight = keyboardHeight;
339
+
340
+ if (_footerInsetAdjustment && !_footerAvoidsKeyboard && self.isPresented) {
341
+ [self setupSheetDetentsForSizeChange];
342
+ }
343
+ }
344
+
334
345
  /**
335
- * Bottom inset excluded from the auto detent. A relative footer owns the
336
- * sheet's bottom edge and carries the inset in its height (see
337
- * footerBottomInset) — subtract exactly what was baked in so UIKit's own
338
- * safe-area layout doesn't double it.
346
+ * Bottom inset excluded from the auto detent. A relative footer (or an
347
+ * absolute one padding the scrollable) owns the sheet's bottom edge and
348
+ * carries the inset in its height (see footerBottomInset) — subtract exactly
349
+ * what was baked in so UIKit's own safe-area layout doesn't double it.
339
350
  */
340
351
  - (CGFloat)autoDetentBottomInset {
341
- if (_absoluteFooter || [self.footerHeight floatValue] <= 0) {
352
+ if ((_absoluteFooter && !self.footerInsetAdjustment) || [self.footerHeight floatValue] <= 0) {
342
353
  return 0;
343
354
  }
344
355
 
@@ -689,8 +700,10 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
689
700
  }
690
701
 
691
702
  // Dismissing with the keyboard up skips the hide notification — don't let
692
- // the stale flag block learning on the next present.
703
+ // the stale flag block learning on the next present, or a stale height keep
704
+ // the footer out of the auto detent.
693
705
  _keyboardSheetGrown = NO;
706
+ _keyboardHeight = 0;
694
707
 
695
708
  [self emitDidDismissEvents];
696
709
  }
@@ -1171,7 +1184,7 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1171
1184
  */
1172
1185
  - (void)setupSheetDetentsForSizeChange {
1173
1186
  if (@available(iOS 16.0, *)) {
1174
- CGFloat autoHeight = [_detentCalculator autoHeight];
1187
+ CGFloat autoHeight = [_detentCalculator autoHeightForKeyboardHeight:_keyboardHeight];
1175
1188
  CGFloat peekHeight = [_detentCalculator peekHeight];
1176
1189
 
1177
1190
  if (fabs(autoHeight - _autoDetentHeight) < 0.5 && fabs(peekHeight - _peekDetentHeight) < 0.5) {
@@ -1204,7 +1217,7 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1204
1217
  NSMutableArray<UISheetPresentationControllerDetent *> *detents = [NSMutableArray array];
1205
1218
  [_detentCalculator clearResolvedHeights];
1206
1219
 
1207
- _autoDetentHeight = [_detentCalculator autoHeight];
1220
+ _autoDetentHeight = [_detentCalculator autoHeightForKeyboardHeight:_keyboardHeight];
1208
1221
  _peekDetentHeight = [_detentCalculator peekHeight];
1209
1222
 
1210
1223
  for (NSInteger index = 0; index < self.detents.count; index++) {
@@ -1412,7 +1425,7 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1412
1425
  #if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_1) && !TARGET_OS_MACCATALYST
1413
1426
  if (@available(iOS 26.1, *)) {
1414
1427
  if (!self.isDesignCompatibilityMode) {
1415
- if (self.backgroundColor || hasBlur) {
1428
+ if (!self.glass || hasBlur) {
1416
1429
  self.sheet.backgroundEffect = [UIColorEffect effectWithColor:[UIColor clearColor]];
1417
1430
  } else {
1418
1431
  self.sheet.backgroundEffect = nil;
@@ -1513,9 +1526,24 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1513
1526
  }
1514
1527
 
1515
1528
  - (BOOL)isAnchored {
1516
- return self.anchor == TrueSheetViewAnchor::Left || self.anchor == TrueSheetViewAnchor::Right;
1529
+ return self.placement == TrueSheetViewPlacement::Leading || self.placement == TrueSheetViewPlacement::Trailing;
1517
1530
  }
1518
1531
 
1532
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(27_0)
1533
+ - (UISheetPresentationControllerPlacement)preferredPlacement API_AVAILABLE(ios(27.0)) {
1534
+ switch (self.placement) {
1535
+ case TrueSheetViewPlacement::Leading:
1536
+ return UISheetPresentationControllerPlacementLeading;
1537
+ case TrueSheetViewPlacement::Center:
1538
+ return UISheetPresentationControllerPlacementCenter;
1539
+ case TrueSheetViewPlacement::Trailing:
1540
+ return UISheetPresentationControllerPlacementTrailing;
1541
+ case TrueSheetViewPlacement::Automatic:
1542
+ return UISheetPresentationControllerPlacementAutomatic;
1543
+ }
1544
+ }
1545
+ #endif
1546
+
1519
1547
  - (void)setupAnchorViewInView:(UIView *)parentView {
1520
1548
  if (!parentView)
1521
1549
  return;
@@ -1523,6 +1551,16 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1523
1551
  [_anchorView removeFromSuperview];
1524
1552
  _anchorView = nil;
1525
1553
 
1554
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(27_0)
1555
+ // iOS 27 exposes native placement. `sourceView` must stay nil since it overrides `preferredPlacement`.
1556
+ if (@available(iOS 27.0, *)) {
1557
+ self.sheetPresentationController.sourceView = nil;
1558
+ self.sheetPresentationController.preferredPlacement = [self preferredPlacement];
1559
+ return;
1560
+ }
1561
+ #endif
1562
+
1563
+ // Pre-27 has no explicit center, so `center` falls back to the system default like `automatic`.
1526
1564
  if (!self.isAnchored) {
1527
1565
  self.sheetPresentationController.sourceView = nil;
1528
1566
  return;
@@ -1534,7 +1572,7 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
1534
1572
  [parentView addSubview:_anchorView];
1535
1573
 
1536
1574
  NSLayoutAnchor *horizontalAnchor =
1537
- self.anchor == TrueSheetViewAnchor::Right ? parentView.trailingAnchor : parentView.leadingAnchor;
1575
+ self.placement == TrueSheetViewPlacement::Trailing ? parentView.trailingAnchor : parentView.leadingAnchor;
1538
1576
 
1539
1577
  [NSLayoutConstraint activateConstraints:@[
1540
1578
  [_anchorView.bottomAnchor constraintEqualToAnchor:parentView.bottomAnchor],
@@ -24,6 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
24
24
  @property (nonatomic, readonly) BOOL absoluteHeader;
25
25
  @property (nonatomic, strong, readonly, nullable) NSNumber *footerHeight;
26
26
  @property (nonatomic, readonly) BOOL absoluteFooter;
27
+ @property (nonatomic, readonly) BOOL footerInsetAdjustment;
28
+ @property (nonatomic, readonly) BOOL footerAvoidsKeyboard;
29
+ @property (nonatomic, readonly) CGFloat appliedFooterBottomInset;
27
30
  @property (nonatomic, strong, readonly, nullable) NSNumber *peekContentHeight;
28
31
 
29
32
  @end
@@ -47,8 +50,10 @@ NS_ASSUME_NONNULL_BEGIN
47
50
  /**
48
51
  Returns the height for auto (-1) detents: content + header + footer height.
49
52
  An absolute (floating) header or footer contributes no height.
53
+ A pinned footer contributes only its overlap above the keyboard. UIKit adds
54
+ the keyboard expansion separately. Pass 0 for the keyboard-free height.
50
55
  */
51
- - (CGFloat)autoHeight;
56
+ - (CGFloat)autoHeightForKeyboardHeight:(CGFloat)keyboardHeight;
52
57
 
53
58
  /**
54
59
  Returns the height for peek (-2) detents: header + footer + peek content height.
@@ -19,7 +19,7 @@
19
19
  if (index >= 0 && index < (NSInteger)detents.count) {
20
20
  CGFloat value = [detents[index] doubleValue];
21
21
  if (value == -1) {
22
- return [self autoHeight] / self.delegate.screenHeight;
22
+ return [self autoHeightForKeyboardHeight:0] / self.delegate.screenHeight;
23
23
  }
24
24
  if (value == -2) {
25
25
  return [self peekHeight] / self.delegate.screenHeight;
@@ -29,10 +29,15 @@
29
29
  return 0;
30
30
  }
31
31
 
32
- - (CGFloat)autoHeight {
33
- // An absolute (floating) header or footer overlaps the content, so it contributes no height
32
+ - (CGFloat)autoHeightForKeyboardHeight:(CGFloat)keyboardHeight {
33
+ // An absolute (floating) header or footer overlaps the content, so it contributes no height —
34
+ // unless the footer pads the scrollable, then the content ends above it like a relative footer
34
35
  CGFloat headerHeight = self.delegate.absoluteHeader ? 0 : [self.delegate.headerHeight floatValue];
35
- CGFloat footerHeight = self.delegate.absoluteFooter ? 0 : [self.delegate.footerHeight floatValue];
36
+ BOOL floatingFooter = self.delegate.absoluteFooter && !self.delegate.footerInsetAdjustment;
37
+ CGFloat footerHeight = floatingFooter ? 0 : [self.delegate.footerHeight floatValue];
38
+ if (self.delegate.absoluteFooter && !floatingFooter && !self.delegate.footerAvoidsKeyboard) {
39
+ footerHeight -= MIN(keyboardHeight, MAX(0, footerHeight - self.delegate.appliedFooterBottomInset));
40
+ }
36
41
  return [self.delegate.contentHeight floatValue] + headerHeight + footerHeight;
37
42
  }
38
43
 
@@ -98,6 +98,8 @@
98
98
  });
99
99
  }
100
100
 
101
+ _viewController.keyboardHeight = keyboardHeight;
102
+
101
103
  for (id<TrueSheetKeyboardObserverDelegate> delegate in _delegates) {
102
104
  if (keyboardHeight > 0) {
103
105
  [delegate keyboardWillShow:keyboardHeight duration:duration curve:curve];
@@ -450,11 +450,12 @@ export class TrueSheet extends PureComponent {
450
450
  dimmedDetentIndex,
451
451
  backgroundBlur,
452
452
  blurOptions,
453
+ glass = true,
453
454
  cornerRadius,
454
455
  maxContentHeight,
455
456
  maxContentWidth,
456
- anchor = 'center',
457
- anchorOffset,
457
+ placement = 'automatic',
458
+ placementOffset,
458
459
  scrollableOptions,
459
460
  footerOptions,
460
461
  presentation = 'page',
@@ -517,6 +518,7 @@ export class TrueSheet extends PureComponent {
517
518
  detents: resolvedDetents,
518
519
  backgroundBlur: backgroundBlur,
519
520
  blurOptions: blurOptions,
521
+ glass: glass,
520
522
  backgroundColor: backgroundColor,
521
523
  cornerRadius: cornerRadius,
522
524
  grabber: grabber,
@@ -530,14 +532,15 @@ export class TrueSheet extends PureComponent {
530
532
  draggable: draggable,
531
533
  maxContentHeight: maxContentHeight,
532
534
  maxContentWidth: maxContentWidth,
533
- anchor: anchor,
534
- anchorOffset: anchorOffset,
535
+ placement: placement,
536
+ placementOffset: placementOffset,
535
537
  scrollableHandle: this.state.scrollableHandle ?? -1,
536
538
  scrollableOptions: scrollableOptions,
537
539
  headerOptions: headerOptions,
538
540
  footerOptions: {
539
541
  footerPosition: footerOptions?.position,
540
- keyboardOffset: footerOptions?.keyboardOffset
542
+ keyboardOffset: footerOptions?.keyboardOffset,
543
+ avoidKeyboard: footerOptions?.avoidKeyboard
541
544
  },
542
545
  presentation: presentation,
543
546
  insetAdjustment: insetAdjustment,
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","RootTagContext","findNodeHandle","processColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AppContainer","__DEV__","require","default","LINKING_ERROR","select","ios","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","contextType","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onDismissAttempt","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","error","console","warn","detents","length","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","sheetContent","styles","position","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","ref","sheetView","footerPosition","keyboardOffset","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","rootTag","context","rootViewStyle","inspectorHost","internal_excludeLogBox","create","absoluteFill","zIndex","pointerEvents","display","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","RootTagContext","findNodeHandle","processColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AppContainer","__DEV__","require","default","LINKING_ERROR","select","ios","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","contextType","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onDismissAttempt","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","error","console","warn","detents","length","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","glass","cornerRadius","maxContentHeight","maxContentWidth","placement","placementOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","sheetContent","styles","position","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","ref","sheetView","footerPosition","keyboardOffset","avoidKeyboard","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","rootTag","context","rootViewStyle","inspectorHost","internal_excludeLogBox","create","absoluteFill","zIndex","pointerEvents","display","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}