@lodev09/react-native-true-sheet 3.0.0-beta.2 → 3.0.0-beta.4

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.
@@ -40,6 +40,11 @@ NS_ASSUME_NONNULL_BEGIN
40
40
  */
41
41
  - (void)layoutFooter;
42
42
 
43
+ /**
44
+ * setup ScrollView pinning
45
+ */
46
+ - (void)setupContentScrollViewPinning:(BOOL)pinned;
47
+
43
48
  @end
44
49
 
45
50
  NS_ASSUME_NONNULL_END
@@ -62,6 +62,13 @@ using namespace facebook::react;
62
62
  }
63
63
  }
64
64
 
65
+ - (void)setupContentScrollViewPinning:(BOOL)pinned {
66
+ if (_contentView) {
67
+ NSLog(@"setting up scrollview pinning: %i", pinned);
68
+ [_contentView setupScrollViewPinning:pinned];
69
+ }
70
+ }
71
+
65
72
  - (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index {
66
73
  [super mountChildComponentView:childComponentView index:index];
67
74
 
@@ -30,6 +30,11 @@ NS_ASSUME_NONNULL_BEGIN
30
30
 
31
31
  - (RCTScrollViewComponentView *_Nullable)findScrollView;
32
32
 
33
+ /**
34
+ * setup ScrollView pinning
35
+ */
36
+ - (void)setupScrollViewPinning:(BOOL)pinned;
37
+
33
38
  @end
34
39
 
35
40
  NS_ASSUME_NONNULL_END
@@ -53,50 +53,109 @@ using namespace facebook::react;
53
53
  }
54
54
  }
55
55
 
56
- - (void)didMoveToSuperview {
57
- [super didMoveToSuperview];
58
-
59
- // Setup scroll view pinning after Fabric mounts the view in container
60
- // Ensures proper view hierarchy for scroll detection and pinning
61
- if (self.superview) {
62
- [self setupScrollViewPinning];
56
+ //- (void)didMoveToSuperview {
57
+ // [super didMoveToSuperview];
58
+ //
59
+ // // Setup scroll view pinning after Fabric mounts the view in container
60
+ // // Ensures proper view hierarchy for scroll detection and pinning
61
+ // if (self.superview) {
62
+ // NSLog(@"content has attached");
63
+ //// [self setupScrollViewPinning];
64
+ // }
65
+ //}
66
+
67
+ - (void)unpinScrollView {
68
+ // Unpin previous scroll view if exists
69
+ if (_pinnedScrollView) {
70
+ [LayoutUtil unpinView:_pinnedScrollView];
63
71
  }
64
72
  }
65
73
 
66
- - (void)setupScrollViewPinning {
74
+ - (void)setupScrollViewPinning:(BOOL)pinned {
75
+ if (!pinned) {
76
+ [self unpinScrollView];
77
+ return;
78
+ }
79
+
67
80
  // Auto-detect and pin scroll views for proper sheet scrolling behavior
68
81
  // Pinning ensures ScrollView fills the sheet area and scrolls correctly with the sheet
69
- RCTScrollViewComponentView *scrollView = [self findScrollView];
82
+ UIView *topSibling = nil;
83
+ RCTScrollViewComponentView *scrollView = [self findScrollView:&topSibling];
70
84
 
71
85
  if (scrollView && scrollView != _pinnedScrollView) {
72
- // Unpin previous scroll view if exists
73
- if (_pinnedScrollView) {
74
- [LayoutUtil unpinView:_pinnedScrollView];
75
- }
86
+ [self unpinScrollView];
76
87
 
77
88
  // Pin to container view to enable proper scrolling within the sheet
78
89
  UIView *containerView = self.superview;
79
90
  if (containerView) {
80
- [LayoutUtil pinView:scrollView toParentView:containerView edges:UIRectEdgeAll];
91
+ if (topSibling) {
92
+ // Pin ScrollView below the top sibling
93
+ [LayoutUtil pinView:scrollView
94
+ toParentView:containerView
95
+ withTopView:topSibling
96
+ edges:UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeBottom];
97
+ } else {
98
+ // No top sibling, pin to all edges of container (original behavior)
99
+ [LayoutUtil pinView:scrollView toParentView:containerView edges:UIRectEdgeAll];
100
+ }
101
+
81
102
  _pinnedScrollView = scrollView;
82
103
  }
83
104
  }
84
105
  }
85
106
 
86
107
  - (RCTScrollViewComponentView *)findScrollView {
87
- // Get the React component's root view
108
+ return [self findScrollView:nil];
109
+ }
110
+
111
+ - (RCTScrollViewComponentView *)findScrollView:(UIView **)outTopSibling {
88
112
  if (self.subviews.count == 0) {
89
113
  return nil;
90
114
  }
91
115
 
116
+ RCTScrollViewComponentView *scrollView = nil;
117
+ UIView *topSibling = nil;
118
+
92
119
  // Check first-level children for scroll views (ScrollView or FlatList)
93
120
  for (UIView *subview in self.subviews) {
94
121
  if ([subview isKindOfClass:RCTScrollViewComponentView.class]) {
95
- return static_cast<RCTScrollViewComponentView *>(subview);
122
+ scrollView = static_cast<RCTScrollViewComponentView *>(subview);
123
+
124
+ // Find the view positioned directly above this ScrollView by frame position
125
+ if (self.subviews.count > 1) {
126
+ CGFloat scrollViewTop = CGRectGetMinY(scrollView.frame);
127
+ CGFloat closestDistance = CGFLOAT_MAX;
128
+
129
+ for (UIView *sibling in self.subviews) {
130
+ // Skip the ScrollView itself
131
+ if (sibling == scrollView) {
132
+ continue;
133
+ }
134
+
135
+ CGFloat siblingBottom = CGRectGetMaxY(sibling.frame);
136
+
137
+ // Check if this sibling is positioned above the ScrollView
138
+ if (siblingBottom <= scrollViewTop) {
139
+ CGFloat distance = scrollViewTop - siblingBottom;
140
+
141
+ // Find the closest view above (smallest distance)
142
+ if (distance < closestDistance) {
143
+ closestDistance = distance;
144
+ topSibling = sibling;
145
+ }
146
+ }
147
+ }
148
+ }
149
+
150
+ break; // Found ScrollView, no need to continue
96
151
  }
97
152
  }
98
153
 
99
- return nil;
154
+ if (outTopSibling) {
155
+ *outTopSibling = topSibling;
156
+ }
157
+
158
+ return scrollView;
100
159
  }
101
160
 
102
161
  - (void)prepareForRecycle {
@@ -48,6 +48,7 @@ using namespace facebook::react;
48
48
  TrueSheetViewController *_controller;
49
49
  RCTSurfaceTouchHandler *_touchHandler;
50
50
  NSInteger _initialDetentIndex;
51
+ BOOL _fitScrollView;
51
52
  BOOL _initialDetentAnimated;
52
53
  }
53
54
 
@@ -67,6 +68,7 @@ using namespace facebook::react;
67
68
 
68
69
  _initialDetentIndex = -1;
69
70
  _initialDetentAnimated = YES;
71
+ _fitScrollView = NO;
70
72
  }
71
73
  return self;
72
74
  }
@@ -214,6 +216,9 @@ using namespace facebook::react;
214
216
  // Update grabber
215
217
  _controller.grabber = newProps.grabber;
216
218
 
219
+ // Update page sizing
220
+ _controller.pageSizing = newProps.pageSizing;
221
+
217
222
  // Update dismissible
218
223
  _controller.modalInPresentation = !newProps.dismissible;
219
224
 
@@ -228,6 +233,9 @@ using namespace facebook::react;
228
233
  // Store initial presentation settings
229
234
  _initialDetentIndex = newProps.initialDetentIndex;
230
235
  _initialDetentAnimated = newProps.initialDetentAnimated;
236
+
237
+ // Store ScrollView fit prop
238
+ _fitScrollView = newProps.fitScrollView;
231
239
  }
232
240
 
233
241
  - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
@@ -235,6 +243,14 @@ using namespace facebook::react;
235
243
 
236
244
  // Apply controller updates after all props and children are updated
237
245
  if (updateMask & RNComponentViewUpdateMaskProps) {
246
+ if (!_controller)
247
+ return;
248
+
249
+ // Update ScrollView Pinning
250
+ if (_containerView) {
251
+ [_containerView setupContentScrollViewPinning:_fitScrollView];
252
+ }
253
+
238
254
  // Apply changes to presented sheet if needed
239
255
  if (_controller.isPresented) {
240
256
  [_controller.sheetPresentationController animateChanges:^{
@@ -282,6 +298,9 @@ using namespace facebook::react;
282
298
  _controller.contentHeight = @(contentHeight);
283
299
  }
284
300
 
301
+ // Update fitScrollView setting on container
302
+ [_containerView setupContentScrollViewPinning:_fitScrollView];
303
+
285
304
  // Emit onMount event when container is mounted
286
305
  [OnMountEvent emit:_eventEmitter];
287
306
  }
@@ -347,10 +366,6 @@ using namespace facebook::react;
347
366
  _controller.activeDetentIndex = index;
348
367
 
349
368
  [OnWillPresentEvent emit:_eventEmitter index:index position:position];
350
-
351
- // Emit onChangeSize event to layout our container on JS
352
- CGSize controllerSize = _controller.view.frame.size;
353
- [OnSizeChangeEvent emit:_eventEmitter width:controllerSize.width height:controllerSize.height];
354
369
  }
355
370
 
356
371
  - (void)viewControllerDidPresent {
@@ -403,6 +418,8 @@ using namespace facebook::react;
403
418
  }
404
419
 
405
420
  - (void)viewControllerDidChangeSize:(CGSize)size {
421
+ // Notify so our container can layout on JS
422
+ // TODO: hopefully we can convert this into native!
406
423
  [OnSizeChangeEvent emit:_eventEmitter width:size.width height:size.height];
407
424
  }
408
425
 
@@ -47,6 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
47
47
  @property (nonatomic, assign) BOOL dimmed;
48
48
  @property (nonatomic, strong, nullable) NSNumber *dimmedDetentIndex;
49
49
  @property (nonatomic, copy, nullable) NSString *blurTint;
50
+ @property (nonatomic, assign) BOOL pageSizing;
50
51
  @property (nonatomic, assign) BOOL layoutTransitioning;
51
52
  @property (nonatomic, assign) BOOL isPresented;
52
53
  @property (nonatomic, assign) NSInteger activeDetentIndex;
@@ -57,6 +58,7 @@ NS_ASSUME_NONNULL_BEGIN
57
58
  - (void)setupSheetProps;
58
59
  - (NSInteger)currentDetentIndex;
59
60
  - (CGFloat)currentPosition;
61
+ - (CGFloat)bottomInset;
60
62
  - (CGFloat)currentHeight;
61
63
  - (CGFloat)containerHeight;
62
64
 
@@ -7,6 +7,7 @@
7
7
  //
8
8
 
9
9
  #import "TrueSheetViewController.h"
10
+ #import "utils/ConversionUtil.h"
10
11
  #import "utils/WindowUtil.h"
11
12
 
12
13
  #import <React/RCTLog.h>
@@ -21,7 +22,7 @@
21
22
  @implementation TrueSheetViewController {
22
23
  CGFloat _lastPosition;
23
24
  CGFloat _lastTransitionPosition;
24
- CGFloat _bottomInset;
25
+ CGSize _lastNotifiedSize;
25
26
  BOOL _isTransitioning;
26
27
  BOOL _isDragging;
27
28
  BOOL _isTrackingPositionFromLayout;
@@ -36,8 +37,10 @@
36
37
  _grabber = YES;
37
38
  _dimmed = YES;
38
39
  _dimmedDetentIndex = @(0);
40
+ _pageSizing = YES;
39
41
  _lastPosition = 0;
40
42
  _lastTransitionPosition = 0;
43
+ _lastNotifiedSize = CGSizeZero;
41
44
  _isTransitioning = NO;
42
45
  _isDragging = NO;
43
46
  _isTrackingPositionFromLayout = NO;
@@ -49,14 +52,6 @@
49
52
  _fakeTransitionView = [[UIView alloc] init];
50
53
  _fakeTransitionView.hidden = YES;
51
54
  _fakeTransitionView.userInteractionEnabled = NO;
52
-
53
- // Get bottom safe area inset from the window's safe area
54
- // The sheet's view has smaller insets, so we need the actual device insets
55
- UIWindow *window = [WindowUtil keyWindow];
56
- _bottomInset = window ? window.safeAreaInsets.bottom : 0;
57
-
58
- // Allow modals to be presented from this view controller
59
- self.definesPresentationContext = YES;
60
55
  }
61
56
  return self;
62
57
  }
@@ -100,6 +95,9 @@
100
95
  [self.delegate viewControllerWillPresent];
101
96
  }
102
97
 
98
+ // Emit size change event to layout our container
99
+ [self notifyContentSizeChange];
100
+
103
101
  // Setup transition position tracking
104
102
  [self setupTransitionPositionTracking];
105
103
  }
@@ -167,14 +165,16 @@
167
165
  [self setupSheetDetents];
168
166
 
169
167
  // Notify delegate of size changes
170
- if ([self.delegate respondsToSelector:@selector(viewControllerDidChangeSize:)]) {
171
- [self.delegate viewControllerDidChangeSize:self.view.frame.size];
172
- }
168
+ [self notifyContentSizeChange];
173
169
  }];
174
170
  }
175
171
 
176
172
  - (void)viewDidLayoutSubviews {
177
173
  [super viewDidLayoutSubviews];
174
+
175
+ // Notify content size changes (e.g., when pageSizing changes)
176
+ [self notifyContentSizeChange];
177
+
178
178
  if (!_isTransitioning && self.isActiveAndVisible) {
179
179
  // Flag that we are tracking position from layout
180
180
  _isTrackingPositionFromLayout = YES;
@@ -193,6 +193,19 @@
193
193
  }
194
194
  }
195
195
 
196
+ - (void)notifyContentSizeChange {
197
+ CGSize currentSize = self.view.frame.size;
198
+
199
+ // Only notify if width has actually changed
200
+ if (currentSize.width != _lastNotifiedSize.width) {
201
+ _lastNotifiedSize = currentSize;
202
+
203
+ if ([self.delegate respondsToSelector:@selector(viewControllerDidChangeSize:)]) {
204
+ [self.delegate viewControllerDidChangeSize:currentSize];
205
+ }
206
+ }
207
+ }
208
+
196
209
  #pragma mark - Gesture Handling
197
210
 
198
211
  /**
@@ -407,7 +420,7 @@
407
420
 
408
421
  // Subtract bottomInset from content height to account for safe area
409
422
  // This prevents iOS from adding extra bottom insets automatically
410
- CGFloat totalHeight = [self.contentHeight floatValue] - _bottomInset;
423
+ CGFloat totalHeight = [self.contentHeight floatValue] - self.bottomInset;
411
424
 
412
425
  for (NSInteger index = 0; index < self.detents.count; index++) {
413
426
  id detent = self.detents[index];
@@ -591,8 +604,19 @@
591
604
  return presentedView.frame.origin.y;
592
605
  }
593
606
 
607
+ - (CGFloat)bottomInset {
608
+ // No bottom inset for iPad
609
+ if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
610
+ return 0;
611
+ }
612
+
613
+ // Get bottom safe area inset from the window's safe area
614
+ UIWindow *window = [WindowUtil keyWindow];
615
+ return window ? window.safeAreaInsets.bottom : 0;
616
+ }
617
+
594
618
  - (CGFloat)currentHeight {
595
- return self.containerHeight - self.currentPosition - _bottomInset;
619
+ return self.containerHeight - self.currentPosition - self.bottomInset;
596
620
  }
597
621
 
598
622
  - (CGFloat)containerHeight {
@@ -610,6 +634,12 @@
610
634
  }
611
635
 
612
636
  sheet.delegate = self;
637
+
638
+ // Configure page sizing behavior (iOS 17+)
639
+ if (@available(iOS 17.0, *)) {
640
+ sheet.prefersPageSizing = self.pageSizing;
641
+ }
642
+
613
643
  sheet.prefersEdgeAttachedInCompactHeight = YES;
614
644
  sheet.prefersGrabberVisible = self.grabber;
615
645
  // Only set preferredCornerRadius if explicitly provided, otherwise use system default
@@ -623,29 +653,7 @@
623
653
 
624
654
  // Setup blur effect if blurTint is provided
625
655
  if (self.blurTint && self.blurTint.length > 0) {
626
- UIBlurEffectStyle style = UIBlurEffectStyleLight;
627
-
628
- if ([self.blurTint isEqualToString:@"dark"]) {
629
- style = UIBlurEffectStyleDark;
630
- } else if ([self.blurTint isEqualToString:@"light"]) {
631
- style = UIBlurEffectStyleLight;
632
- } else if ([self.blurTint isEqualToString:@"extraLight"]) {
633
- style = UIBlurEffectStyleExtraLight;
634
- } else if ([self.blurTint isEqualToString:@"regular"]) {
635
- style = UIBlurEffectStyleRegular;
636
- } else if ([self.blurTint isEqualToString:@"prominent"]) {
637
- style = UIBlurEffectStyleProminent;
638
- } else if ([self.blurTint isEqualToString:@"systemThinMaterial"]) {
639
- style = UIBlurEffectStyleSystemThinMaterial;
640
- } else if ([self.blurTint isEqualToString:@"systemMaterial"]) {
641
- style = UIBlurEffectStyleSystemMaterial;
642
- } else if ([self.blurTint isEqualToString:@"systemThickMaterial"]) {
643
- style = UIBlurEffectStyleSystemThickMaterial;
644
- } else if ([self.blurTint isEqualToString:@"systemChromeMaterial"]) {
645
- style = UIBlurEffectStyleSystemChromeMaterial;
646
- } else if ([self.blurTint isEqualToString:@"systemUltraThinMaterial"]) {
647
- style = UIBlurEffectStyleSystemUltraThinMaterial;
648
- }
656
+ UIBlurEffectStyle style = [ConversionUtil blurEffectStyleFromString:self.blurTint];
649
657
 
650
658
  // Create a blur effect view and set it as the background
651
659
  UIVisualEffectView *blurView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:style]];
@@ -0,0 +1,24 @@
1
+ //
2
+ // Created by Jovanni Lo (@lodev09)
3
+ // Copyright (c) 2024-present. All rights reserved.
4
+ //
5
+ // This source code is licensed under the MIT license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface ConversionUtil : NSObject
14
+
15
+ /**
16
+ * Converts a dashed-case blur tint string to UIBlurEffectStyle
17
+ * @param tintString The blur tint string (e.g., "system-thin-material")
18
+ * @return The corresponding UIBlurEffectStyle, defaults to UIBlurEffectStyleLight if not recognized
19
+ */
20
+ + (UIBlurEffectStyle)blurEffectStyleFromString:(NSString *)tintString;
21
+
22
+ @end
23
+
24
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,60 @@
1
+ //
2
+ // Created by Jovanni Lo (@lodev09)
3
+ // Copyright (c) 2024-present. All rights reserved.
4
+ //
5
+ // This source code is licensed under the MIT license found in the
6
+ // LICENSE file in the root directory of this source tree.
7
+ //
8
+
9
+ #import "ConversionUtil.h"
10
+
11
+ @implementation ConversionUtil
12
+
13
+ + (UIBlurEffectStyle)blurEffectStyleFromString:(NSString *)tintString {
14
+ if ([tintString isEqualToString:@"dark"]) {
15
+ return UIBlurEffectStyleDark;
16
+ } else if ([tintString isEqualToString:@"light"]) {
17
+ return UIBlurEffectStyleLight;
18
+ } else if ([tintString isEqualToString:@"extra-light"]) {
19
+ return UIBlurEffectStyleExtraLight;
20
+ } else if ([tintString isEqualToString:@"regular"]) {
21
+ return UIBlurEffectStyleRegular;
22
+ } else if ([tintString isEqualToString:@"prominent"]) {
23
+ return UIBlurEffectStyleProminent;
24
+ } else if ([tintString isEqualToString:@"system-ultra-thin-material"]) {
25
+ return UIBlurEffectStyleSystemUltraThinMaterial;
26
+ } else if ([tintString isEqualToString:@"system-thin-material"]) {
27
+ return UIBlurEffectStyleSystemThinMaterial;
28
+ } else if ([tintString isEqualToString:@"system-material"]) {
29
+ return UIBlurEffectStyleSystemMaterial;
30
+ } else if ([tintString isEqualToString:@"system-thick-material"]) {
31
+ return UIBlurEffectStyleSystemThickMaterial;
32
+ } else if ([tintString isEqualToString:@"system-chrome-material"]) {
33
+ return UIBlurEffectStyleSystemChromeMaterial;
34
+ } else if ([tintString isEqualToString:@"system-ultra-thin-material-light"]) {
35
+ return UIBlurEffectStyleSystemUltraThinMaterialLight;
36
+ } else if ([tintString isEqualToString:@"system-thin-material-light"]) {
37
+ return UIBlurEffectStyleSystemThinMaterialLight;
38
+ } else if ([tintString isEqualToString:@"system-material-light"]) {
39
+ return UIBlurEffectStyleSystemMaterialLight;
40
+ } else if ([tintString isEqualToString:@"system-thick-material-light"]) {
41
+ return UIBlurEffectStyleSystemThickMaterialLight;
42
+ } else if ([tintString isEqualToString:@"system-chrome-material-light"]) {
43
+ return UIBlurEffectStyleSystemChromeMaterialLight;
44
+ } else if ([tintString isEqualToString:@"system-ultra-thin-material-dark"]) {
45
+ return UIBlurEffectStyleSystemUltraThinMaterialDark;
46
+ } else if ([tintString isEqualToString:@"system-thin-material-dark"]) {
47
+ return UIBlurEffectStyleSystemThinMaterialDark;
48
+ } else if ([tintString isEqualToString:@"system-material-dark"]) {
49
+ return UIBlurEffectStyleSystemMaterialDark;
50
+ } else if ([tintString isEqualToString:@"system-thick-material-dark"]) {
51
+ return UIBlurEffectStyleSystemThickMaterialDark;
52
+ } else if ([tintString isEqualToString:@"system-chrome-material-dark"]) {
53
+ return UIBlurEffectStyleSystemChromeMaterialDark;
54
+ }
55
+
56
+ // Default to light if not recognized
57
+ return UIBlurEffectStyleLight;
58
+ }
59
+
60
+ @end
@@ -31,6 +31,15 @@ NS_ASSUME_NONNULL_BEGIN
31
31
  */
32
32
  + (void)pinView:(UIView *)view toParentView:(UIView *)parentView edges:(UIRectEdge)edges height:(CGFloat)height;
33
33
 
34
+ /**
35
+ * Pins a view to its parent view with its top edge anchored below a top sibling view
36
+ * @param view The view to pin
37
+ * @param parentView The parent view to pin to
38
+ * @param topView The view to position below (top sibling)
39
+ * @param edges The edges to pin to parent (excluding top, which is pinned to topView)
40
+ */
41
+ + (void)pinView:(UIView *)view toParentView:(UIView *)parentView withTopView:(UIView *)topView edges:(UIRectEdge)edges;
42
+
34
43
  /**
35
44
  * Unpins a view by removing its constraints and re-enabling autoresizing mask translation
36
45
  * @param view The view to unpin
@@ -38,6 +38,24 @@
38
38
  }
39
39
  }
40
40
 
41
+ + (void)pinView:(UIView *)view toParentView:(UIView *)parentView withTopView:(UIView *)topView edges:(UIRectEdge)edges {
42
+ view.translatesAutoresizingMaskIntoConstraints = NO;
43
+
44
+ // Pin top edge to bottom of top sibling
45
+ [view.topAnchor constraintEqualToAnchor:topView.bottomAnchor].active = YES;
46
+
47
+ // Pin other edges to parent based on edges parameter
48
+ if (edges & UIRectEdgeBottom) {
49
+ [view.bottomAnchor constraintEqualToAnchor:parentView.bottomAnchor].active = YES;
50
+ }
51
+ if (edges & UIRectEdgeLeft) {
52
+ [view.leadingAnchor constraintEqualToAnchor:parentView.leadingAnchor].active = YES;
53
+ }
54
+ if (edges & UIRectEdgeRight) {
55
+ [view.trailingAnchor constraintEqualToAnchor:parentView.trailingAnchor].active = YES;
56
+ }
57
+ }
58
+
41
59
  + (void)unpinView:(UIView *)view {
42
60
  if (!view)
43
61
  return;
@@ -271,6 +271,8 @@ export class TrueSheet extends PureComponent {
271
271
  cornerRadius,
272
272
  maxHeight,
273
273
  edgeToEdgeFullScreen,
274
+ fitScrollView = false,
275
+ pageSizing = true,
274
276
  children,
275
277
  style,
276
278
  footer,
@@ -303,6 +305,8 @@ export class TrueSheet extends PureComponent {
303
305
  dismissible: dismissible,
304
306
  maxHeight: maxHeight,
305
307
  edgeToEdgeFullScreen: edgeToEdgeFullScreen,
308
+ fitScrollView: fitScrollView,
309
+ pageSizing: pageSizing,
306
310
  onMount: this.onMount,
307
311
  onWillPresent: this.onWillPresent,
308
312
  onDidPresent: this.onDidPresent,
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","containerWidth","containerHeight","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onSizeChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","width","height","nativeEvent","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","children","style","footer","testID","resolvedDetents","slice","map","ref","styles","sheetView","background","collapsable","create","position","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","containerWidth","containerHeight","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onSizeChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","width","height","nativeEvent","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","fitScrollView","pageSizing","children","style","footer","testID","resolvedDetents","slice","map","ref","styles","sheetView","background","collapsable","create","position","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,8 @@ export interface NativeProps extends ViewProps {
45
45
  dimmed?: WithDefault<boolean, true>;
46
46
  initialDetentAnimated?: WithDefault<boolean, true>;
47
47
  edgeToEdgeFullScreen?: WithDefault<boolean, false>;
48
+ fitScrollView?: WithDefault<boolean, false>;
49
+ pageSizing?: WithDefault<boolean, true>;
48
50
 
49
51
  // Event handlers
50
52
  onMount?: DirectEventHandler<null>;
@@ -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,EAYf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA8BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAmFpB"}
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,EAYf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA8BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAuFpB"}
@@ -46,7 +46,7 @@ export type SizeChangeEvent = NativeSyntheticEvent<SizeChangeEventPayload>;
46
46
  *
47
47
  * @platform ios
48
48
  */
49
- export type BlurTint = 'light' | 'dark' | 'default' | 'extraLight' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
49
+ export type BlurTint = 'light' | 'dark' | 'default' | 'extra-light' | 'regular' | 'prominent' | 'system-ultra-thin-material' | 'system-thin-material' | 'system-material' | 'system-thick-material' | 'system-chrome-material' | 'system-ultra-thin-material-light' | 'system-thin-material-light' | 'system-material-light' | 'system-thick-material-light' | 'system-chrome-material-light' | 'system-ultra-thin-material-dark' | 'system-thin-material-dark' | 'system-material-dark' | 'system-thick-material-dark' | 'system-chrome-material-dark';
50
50
  /**
51
51
  * Supported Sheet detent.
52
52
  */
@@ -155,6 +155,15 @@ export interface TrueSheetProps extends ViewProps {
155
155
  * @platform android
156
156
  */
157
157
  grabberProps?: TrueSheetGrabberProps;
158
+ /**
159
+ * Controls the sheet presentation style on iPad.
160
+ * When enabled (true), uses a large page sheet for better readability.
161
+ * When disabled (false), uses a centered form sheet.
162
+ *
163
+ * @platform ios 17+
164
+ * @default true
165
+ */
166
+ pageSizing?: boolean;
158
167
  /**
159
168
  * The blur effect style on iOS.
160
169
  * Overrides `backgroundColor` if set.
@@ -179,6 +188,15 @@ export interface TrueSheetProps extends ViewProps {
179
188
  * A component that floats at the bottom of the Sheet.
180
189
  */
181
190
  footer?: ComponentType<unknown> | ReactElement;
191
+ /**
192
+ * Automatically pins ScrollView or FlatList to fit within the sheet's available space.
193
+ * When enabled, the ScrollView's top edge will be pinned below any top sibling views,
194
+ * and its left, right, and bottom edges will be pinned to the container.
195
+ *
196
+ * @platform ios
197
+ * @default false
198
+ */
199
+ fitScrollView?: boolean;
182
200
  /**
183
201
  * Determines how the software keyboard will impact the layout of the sheet.
184
202
  * Set to `pan` if you're working with `FlatList` with a `TextInput`.
@@ -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":"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"}
@@ -27,6 +27,8 @@ export interface NativeProps extends ViewProps {
27
27
  dimmed?: WithDefault<boolean, true>;
28
28
  initialDetentAnimated?: WithDefault<boolean, true>;
29
29
  edgeToEdgeFullScreen?: WithDefault<boolean, false>;
30
+ fitScrollView?: WithDefault<boolean, false>;
31
+ pageSizing?: WithDefault<boolean, true>;
30
32
  onMount?: DirectEventHandler<null>;
31
33
  onWillPresent?: DirectEventHandler<DetentInfoEventPayload>;
32
34
  onDidPresent?: DirectEventHandler<DetentInfoEventPayload>;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAG/B,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAG1C,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;IAGvD,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,qBAAqB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAGnD,OAAO,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;CAC3D;;AAED,wBAAoE"}
1
+ {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAG/B,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAG1C,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;IAGvD,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,qBAAqB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;CAC3D;;AAED,wBAAoE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.4",
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",
@@ -42,7 +42,7 @@
42
42
  "clean": "scripts/clean.sh",
43
43
  "prepare": "bob build",
44
44
  "release": "yarn tidy && release-it --only-version",
45
- "release-beta": "yarn release --preRelease=beta"
45
+ "release:beta": "yarn release --preRelease=beta"
46
46
  },
47
47
  "keywords": [
48
48
  "react-native",
package/src/TrueSheet.tsx CHANGED
@@ -340,6 +340,8 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
340
340
  cornerRadius,
341
341
  maxHeight,
342
342
  edgeToEdgeFullScreen,
343
+ fitScrollView = false,
344
+ pageSizing = true,
343
345
  children,
344
346
  style,
345
347
  footer,
@@ -374,6 +376,8 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
374
376
  dismissible={dismissible}
375
377
  maxHeight={maxHeight}
376
378
  edgeToEdgeFullScreen={edgeToEdgeFullScreen}
379
+ fitScrollView={fitScrollView}
380
+ pageSizing={pageSizing}
377
381
  onMount={this.onMount}
378
382
  onWillPresent={this.onWillPresent}
379
383
  onDidPresent={this.onDidPresent}
@@ -57,24 +57,24 @@ export type BlurTint =
57
57
  | 'light'
58
58
  | 'dark'
59
59
  | 'default'
60
- | 'extraLight'
60
+ | 'extra-light'
61
61
  | 'regular'
62
62
  | 'prominent'
63
- | 'systemUltraThinMaterial'
64
- | 'systemThinMaterial'
65
- | 'systemMaterial'
66
- | 'systemThickMaterial'
67
- | 'systemChromeMaterial'
68
- | 'systemUltraThinMaterialLight'
69
- | 'systemThinMaterialLight'
70
- | 'systemMaterialLight'
71
- | 'systemThickMaterialLight'
72
- | 'systemChromeMaterialLight'
73
- | 'systemUltraThinMaterialDark'
74
- | 'systemThinMaterialDark'
75
- | 'systemMaterialDark'
76
- | 'systemThickMaterialDark'
77
- | 'systemChromeMaterialDark';
63
+ | 'system-ultra-thin-material'
64
+ | 'system-thin-material'
65
+ | 'system-material'
66
+ | 'system-thick-material'
67
+ | 'system-chrome-material'
68
+ | 'system-ultra-thin-material-light'
69
+ | 'system-thin-material-light'
70
+ | 'system-material-light'
71
+ | 'system-thick-material-light'
72
+ | 'system-chrome-material-light'
73
+ | 'system-ultra-thin-material-dark'
74
+ | 'system-thin-material-dark'
75
+ | 'system-material-dark'
76
+ | 'system-thick-material-dark'
77
+ | 'system-chrome-material-dark';
78
78
 
79
79
  /**
80
80
  * Supported Sheet detent.
@@ -196,6 +196,16 @@ export interface TrueSheetProps extends ViewProps {
196
196
  */
197
197
  grabberProps?: TrueSheetGrabberProps;
198
198
 
199
+ /**
200
+ * Controls the sheet presentation style on iPad.
201
+ * When enabled (true), uses a large page sheet for better readability.
202
+ * When disabled (false), uses a centered form sheet.
203
+ *
204
+ * @platform ios 17+
205
+ * @default true
206
+ */
207
+ pageSizing?: boolean;
208
+
199
209
  /**
200
210
  * The blur effect style on iOS.
201
211
  * Overrides `backgroundColor` if set.
@@ -224,6 +234,16 @@ export interface TrueSheetProps extends ViewProps {
224
234
  */
225
235
  footer?: ComponentType<unknown> | ReactElement;
226
236
 
237
+ /**
238
+ * Automatically pins ScrollView or FlatList to fit within the sheet's available space.
239
+ * When enabled, the ScrollView's top edge will be pinned below any top sibling views,
240
+ * and its left, right, and bottom edges will be pinned to the container.
241
+ *
242
+ * @platform ios
243
+ * @default false
244
+ */
245
+ fitScrollView?: boolean;
246
+
227
247
  /**
228
248
  * Determines how the software keyboard will impact the layout of the sheet.
229
249
  * Set to `pan` if you're working with `FlatList` with a `TextInput`.
@@ -45,6 +45,8 @@ export interface NativeProps extends ViewProps {
45
45
  dimmed?: WithDefault<boolean, true>;
46
46
  initialDetentAnimated?: WithDefault<boolean, true>;
47
47
  edgeToEdgeFullScreen?: WithDefault<boolean, false>;
48
+ fitScrollView?: WithDefault<boolean, false>;
49
+ pageSizing?: WithDefault<boolean, true>;
48
50
 
49
51
  // Event handlers
50
52
  onMount?: DirectEventHandler<null>;