@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.
- package/ios/TrueSheetContainerView.h +5 -0
- package/ios/TrueSheetContainerView.mm +7 -0
- package/ios/TrueSheetContentView.h +5 -0
- package/ios/TrueSheetContentView.mm +76 -17
- package/ios/TrueSheetView.mm +21 -4
- package/ios/TrueSheetViewController.h +2 -0
- package/ios/TrueSheetViewController.mm +45 -37
- package/ios/utils/ConversionUtil.h +24 -0
- package/ios/utils/ConversionUtil.mm +60 -0
- package/ios/utils/LayoutUtil.h +9 -0
- package/ios/utils/LayoutUtil.mm +18 -0
- package/lib/module/TrueSheet.js +4 -0
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +2 -0
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +19 -1
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +2 -0
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/TrueSheet.tsx +4 -0
- package/src/TrueSheet.types.ts +36 -16
- package/src/fabric/TrueSheetViewNativeComponent.ts +2 -0
|
@@ -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
|
|
|
@@ -53,50 +53,109 @@ using namespace facebook::react;
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
|
|
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
|
-
|
|
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
|
-
|
|
82
|
+
UIView *topSibling = nil;
|
|
83
|
+
RCTScrollViewComponentView *scrollView = [self findScrollView:&topSibling];
|
|
70
84
|
|
|
71
85
|
if (scrollView && scrollView != _pinnedScrollView) {
|
|
72
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
154
|
+
if (outTopSibling) {
|
|
155
|
+
*outTopSibling = topSibling;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return scrollView;
|
|
100
159
|
}
|
|
101
160
|
|
|
102
161
|
- (void)prepareForRecycle {
|
package/ios/TrueSheetView.mm
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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] -
|
|
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 -
|
|
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 =
|
|
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
|
package/ios/utils/LayoutUtil.h
CHANGED
|
@@ -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
|
package/ios/utils/LayoutUtil.mm
CHANGED
|
@@ -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;
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -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":";;AAAA,SACEA,aAAa,EAEbC,SAAS,EAGTC,cAAc,EACdC,aAAa,QACR,OAAO;AAgBd,OAAOC,4BAA4B,MAAM,uCAAuC;AAChF,OAAOC,qCAAqC,MAAM,gDAAgD;AAClG,OAAOC,mCAAmC,MAAM,8CAA8C;AAC9F,OAAOC,kCAAkC,MAAM,6CAA6C;AAE5F,OAAOC,eAAe,MAAM,kCAA+B;AAE3D,SAASC,QAAQ,EAAEC,YAAY,EAAEC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElF,MAAMC,aAAa,GACjB,2FAA2F,GAC3FR,QAAQ,CAACS,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B,GAC/B,iDAAiD;AAEnD,IAAI,CAACZ,eAAe,EAAE;EACpB,MAAM,IAAIa,KAAK,CAACJ,aAAa,CAAC;AAChC;AAUA,OAAO,MAAMK,SAAS,SAAStB,aAAa,CAAiC;EAC3EuB,WAAW,GAAG,WAAW;EAIzB;AACF;AACA;EACE,OAAwBC,SAAS,GAAkC,CAAC,CAAC;;EAErE;AACF;AACA;EACUC,oBAAoB,GAAwB,IAAI;EAExDC,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,SAAS,gBAAG3B,SAAS,CAAY,CAAC;IAEvC,IAAI,CAAC4B,eAAe,CAAC,CAAC;;IAEtB;IACA,MAAMC,uBAAuB,GAC3BH,KAAK,CAACI,kBAAkB,KAAKC,SAAS,IAAIL,KAAK,CAACI,kBAAkB,IAAI,CAAC;IAEzE,IAAI,CAACE,KAAK,GAAG;MACXC,sBAAsB,EAAEJ,uBAAuB;MAC/CK,cAAc,EAAEH,SAAS;MACzBI,eAAe,EAAEJ;IACnB,CAAC;IAED,IAAI,CAACK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;IACtC,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACG,aAAa,GAAG,IAAI,CAACA,aAAa,CAACH,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACK,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACM,WAAW,GAAG,IAAI,CAACA,WAAW,CAACN,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,SAAS,GAAG,IAAI,CAACA,SAAS,CAACR,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACS,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACT,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACU,YAAY,GAAG,IAAI,CAACA,YAAY,CAACV,IAAI,CAAC,IAAI,CAAC;EAClD;EAEQT,eAAeA,CAAA,EAAS;IAC9B,MAAM;MAAEoB,OAAO;MAAElB;IAAmB,CAAC,GAAG,IAAI,CAACJ,KAAK;;IAElD;IACA,IAAIsB,OAAO,IAAIA,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;MACjCC,OAAO,CAACC,IAAI,CACV,gCAAgCH,OAAO,CAACC,MAAM,yDAChD,CAAC;IACH;;IAEA;IACA,IAAID,OAAO,EAAE;MACXA,OAAO,CAACI,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;QACjC,IAAID,MAAM,KAAK,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;UACnD,IAAIA,MAAM,IAAI,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE;YAC7BH,OAAO,CAACC,IAAI,CACV,8BAA8BG,KAAK,KAAKD,MAAM,kDAChD,CAAC;UACH;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;IACA,IAAIvB,kBAAkB,KAAKC,SAAS,IAAID,kBAAkB,IAAI,CAAC,EAAE;MAC/D,MAAMyB,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACT,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD,IAAInB,kBAAkB,IAAIyB,aAAa,EAAE;QACvC,MAAM,IAAInC,KAAK,CACb,kCAAkCU,kBAAkB,yCAAyCyB,aAAa,UAC5G,CAAC;MACH;IACF;EACF;EAEA,OAAeG,WAAWA,CAACC,IAAY,EAAE;IACvC,MAAMC,QAAQ,GAAGvC,SAAS,CAACE,SAAS,CAACoC,IAAI,CAAC;IAC1C,IAAI,CAACC,QAAQ,EAAE;MACbV,OAAO,CAACC,IAAI,CAAC,gDAAgDQ,IAAI,0BAA0B,CAAC;MAC5F;IACF;IAEA,OAAOC,QAAQ;EACjB;EAEA,IAAYC,MAAMA,CAAA,EAAW;IAC3B,MAAMC,UAAU,GAAGnD,cAAc,CAAC,IAAI,CAACgB,SAAS,CAACoC,OAAO,CAAC;IACzD,IAAID,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAE;MAC3C,MAAM,IAAI1C,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,OAAO0C,UAAU;EACnB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,OAAOA,CAACL,IAAY,EAAEL,KAAa,GAAG,CAAC,EAAiB;IAC1E,MAAMM,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACI,OAAO,CAACV,KAAK,CAAC;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBW,OAAOA,CAACN,IAAY,EAAiB;IACvD,MAAMC,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACK,OAAO,CAAC,CAAC;EAC3B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBC,MAAMA,CAACP,IAAY,EAAEL,KAAa,EAAiB;IACrE,MAAMM,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACM,MAAM,CAACZ,KAAK,CAAC;EAC/B;EAEQa,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,IAAI,CAACzC,KAAK,CAACiC,IAAI,EAAE;MACnBtC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACG,KAAK,CAACiC,IAAI,CAAC,GAAG,IAAI;IAC7C;EACF;EAEQS,kBAAkBA,CAAA,EAAS;IACjC,IAAI,IAAI,CAAC1C,KAAK,CAACiC,IAAI,EAAE;MACnB,OAAOtC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACG,KAAK,CAACiC,IAAI,CAAC;IAC7C;EACF;EAEQjB,cAAcA,CAAC2B,KAAwB,EAAQ;IACrD,IAAI,CAAC3C,KAAK,CAACgB,cAAc,GAAG2B,KAAK,CAAC;EACpC;EAEQ7B,aAAaA,CAAC6B,KAAuB,EAAQ;IACnD,IAAI,CAAC3C,KAAK,CAACc,aAAa,GAAG6B,KAAK,CAAC;EACnC;EAEQ5B,YAAYA,CAAC4B,KAAsB,EAAQ;IACjD,IAAI,CAAC3C,KAAK,CAACe,YAAY,GAAG4B,KAAK,CAAC;EAClC;EAEQ/B,aAAaA,CAAC+B,KAAuB,EAAQ;IACnD,IAAI,CAAC3C,KAAK,CAACY,aAAa,GAAG+B,KAAK,CAAC;EACnC;EAEQ9B,YAAYA,CAAC8B,KAAsB,EAAQ;IACjD;IACA,IAAI,CAACC,QAAQ,CAAC;MAAErC,sBAAsB,EAAE;IAAM,CAAC,CAAC;IAChD,IAAI,CAACP,KAAK,CAACa,YAAY,GAAG8B,KAAK,CAAC;EAClC;EAEQjC,OAAOA,CAACiC,KAAiB,EAAQ;IACvC;IACA,IAAI,IAAI,CAAC7C,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACA,oBAAoB,GAAG,IAAI;IAClC;IAEA,IAAI,CAACE,KAAK,CAACU,OAAO,GAAGiC,KAAK,CAAC;EAC7B;EAEQ1B,WAAWA,CAAC0B,KAAqB,EAAQ;IAC/C,IAAI,CAAC3C,KAAK,CAACiB,WAAW,GAAG0B,KAAK,CAAC;EACjC;EAEQzB,YAAYA,CAACyB,KAAsB,EAAQ;IACjD,IAAI,CAAC3C,KAAK,CAACkB,YAAY,GAAGyB,KAAK,CAAC;EAClC;EAEQxB,SAASA,CAACwB,KAAmB,EAAQ;IAC3C,IAAI,CAAC3C,KAAK,CAACmB,SAAS,GAAGwB,KAAK,CAAC;EAC/B;EAEQvB,gBAAgBA,CAACuB,KAA0B,EAAQ;IACzD,IAAI,CAAC3C,KAAK,CAACoB,gBAAgB,GAAGuB,KAAK,CAAC;EACtC;EAEQtB,YAAYA,CAACsB,KAAsB,EAAQ;IACjD,MAAM;MAAEE,KAAK;MAAEC;IAAO,CAAC,GAAGH,KAAK,CAACI,WAAW;;IAE3C;IACA,IAAI,CAACH,QAAQ,CAAC;MACZpC,cAAc,EAAEqC,KAAK;MACrBpC,eAAe,EAAEqC;IACnB,CAAC,CAAC;;IAEF;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAaR,OAAOA,CAACV,KAAa,GAAG,CAAC,EAAiB;IACrD,MAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAAC/B,KAAK,CAACsB,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,IAAIK,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIC,aAAa,EAAE;MACvC,MAAM,IAAInC,KAAK,CACb,6BAA6BkC,KAAK,yCAAyCC,aAAa,UAC1F,CAAC;IACH;;IAEA;IACA,IAAI,CAAC,IAAI,CAACvB,KAAK,CAACC,sBAAsB,EAAE;MACtC,MAAM,IAAIyC,OAAO,CAAQC,OAAO,IAAK;QACnC,IAAI,CAACnD,oBAAoB,GAAGmD,OAAO;QACnC,IAAI,CAACL,QAAQ,CAAC;UAAErC,sBAAsB,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC;IACJ;IAEA,OAAO1B,eAAe,EAAEqE,YAAY,CAAC,IAAI,CAACf,MAAM,EAAEP,KAAK,CAAC;EAC1D;;EAEA;AACF;AACA;AACA;EACE,MAAaY,MAAMA,CAACZ,KAAa,EAAiB;IAChD,MAAM,IAAI,CAACU,OAAO,CAACV,KAAK,CAAC;EAC3B;;EAEA;AACF;AACA;EACE,MAAaW,OAAOA,CAAA,EAAkB;IACpC,OAAO1D,eAAe,EAAEsE,YAAY,CAAC,IAAI,CAAChB,MAAM,CAAC;EACnD;EAEAiB,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACX,gBAAgB,CAAC,CAAC;EACzB;EAEAY,kBAAkBA,CAACC,SAAyB,EAAQ;IAClD,IAAI,CAACb,gBAAgB,CAAC,CAAC;;IAEvB;IACA,IAAIa,SAAS,CAAChC,OAAO,KAAK,IAAI,CAACtB,KAAK,CAACsB,OAAO,EAAE;MAC5C,IAAI,CAACpB,eAAe,CAAC,CAAC;IACxB;EACF;EAEAqD,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACb,kBAAkB,CAAC,CAAC;;IAEzB;IACA,IAAI,CAAC5C,oBAAoB,GAAG,IAAI;EAClC;EAEA0D,MAAMA,CAAA,EAAc;IAClB,MAAM;MACJlC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;MAClBmC,eAAe;MACfC,WAAW,GAAG,IAAI;MAClBC,OAAO,GAAG,IAAI;MACdC,MAAM,GAAG,IAAI;MACbxD,kBAAkB,GAAG,CAAC,CAAC;MACvByD,qBAAqB,GAAG,IAAI;MAC5BC,YAAY,GAAG,QAAQ;MACvBC,iBAAiB;MACjBC,QAAQ;MACRC,YAAY;MACZC,SAAS;MACTC,oBAAoB;MACpBC,aAAa,GAAG,KAAK;MACrBC,UAAU,GAAG,IAAI;MACjBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC;IACF,CAAC,GAAG,IAAI,CAACzE,KAAK;;IAEd;IACA,MAAM0E,eAAe,GAAGpD,OAAO,CAACqD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAEjD,MAAM,IAAK;MAC1D,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;MAEjD;MACA,IAAIA,MAAM,IAAI,CAAC,EAAE,OAAO,GAAG;;MAE3B;MACA,OAAOG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,MAAM,CAAC;IAC5B,CAAC,CAAC;IAEF,oBACExC,IAAA,CAACV,4BAA4B;MAC3BoG,GAAG,EAAE,IAAI,CAAC5E,SAAU;MACpBsE,KAAK,EAAEO,MAAM,CAACC,SAAU;MACxBzD,OAAO,EAAEoD,eAAgB;MACzBV,QAAQ,EAAEA,QAAS;MACnBgB,UAAU,EAAGjG,YAAY,CAAC0E,eAAe,CAAC,IAAe,CAAE;MAC3DQ,YAAY,EAAEA,YAAa;MAC3BN,OAAO,EAAEA,OAAQ;MACjBC,MAAM,EAAEA,MAAO;MACfG,iBAAiB,EAAEA,iBAAkB;MACrCD,YAAY,EAAEA,YAAa;MAC3B1D,kBAAkB,EAAEA,kBAAmB;MACvCyD,qBAAqB,EAAEA,qBAAsB;MAC7CH,WAAW,EAAEA,WAAY;MACzBQ,SAAS,EAAEA,SAAU;MACrBC,oBAAoB,EAAEA,oBAAqB;MAC3CC,aAAa,EAAEA,aAAc;MAC7BC,UAAU,EAAEA,UAAW;MACvB3D,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBI,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCH,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCG,cAAc,EAAE,IAAI,CAACA,cAAe;MACpCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;MACxCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAAAiD,QAAA,EAE/B,IAAI,CAAChE,KAAK,CAACC,sBAAsB,iBAChClB,KAAA,CAACX,qCAAqC;QACpC+F,MAAM,EAAEA,MAAO;QACfF,KAAK,EAAE;UACL1B,KAAK,EAAE,IAAI,CAACvC,KAAK,CAACE,cAAc;UAChCsC,MAAM,EAAE,IAAI,CAACxC,KAAK,CAACG;QACrB,CAAE;QACFwE,WAAW,EAAE,KAAM;QAAAX,QAAA,gBAEnBnF,IAAA,CAACR,mCAAmC;UAAC4F,KAAK,EAAEA,KAAM;UAACU,WAAW,EAAE,KAAM;UAAAX,QAAA,EACnEA;QAAQ,CAC0B,CAAC,EACrCE,MAAM,iBACLrF,IAAA,CAACP,kCAAkC;UAAC2F,KAAK,EAAEO,MAAM,CAACN,MAAO;UAACS,WAAW,EAAE,KAAM;UAAAX,QAAA,EAC1E,aAAA/F,cAAc,CAACiG,MAAM,CAAC,GAAGA,MAAM,gBAAGhG,aAAa,CAACgG,MAAM;QAAC,CACtB,CACrC;MAAA,CACoC;IACxC,CAC2B,CAAC;EAEnC;AACF;AAEA,MAAMM,MAAM,GAAG9F,UAAU,CAACkG,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,UAAU;IACpBtC,KAAK,EAAE,MAAM;IACbuC,MAAM,EAAE,CAAC;EACX,CAAC;EACDZ,MAAM,EAAE;IACNW,QAAQ,EAAE,UAAU;IACpBE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","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;
|
|
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' | '
|
|
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":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;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;AAEnF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,SAAS,GACT,
|
|
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,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;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;AAEnF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB,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;;;;;;;;;;OAUG;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;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IAE/C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAEhC;;;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;CACzD"}
|
|
@@ -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;
|
|
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.
|
|
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
|
|
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}
|
package/src/TrueSheet.types.ts
CHANGED
|
@@ -57,24 +57,24 @@ export type BlurTint =
|
|
|
57
57
|
| 'light'
|
|
58
58
|
| 'dark'
|
|
59
59
|
| 'default'
|
|
60
|
-
| '
|
|
60
|
+
| 'extra-light'
|
|
61
61
|
| 'regular'
|
|
62
62
|
| 'prominent'
|
|
63
|
-
| '
|
|
64
|
-
| '
|
|
65
|
-
| '
|
|
66
|
-
| '
|
|
67
|
-
| '
|
|
68
|
-
| '
|
|
69
|
-
| '
|
|
70
|
-
| '
|
|
71
|
-
| '
|
|
72
|
-
| '
|
|
73
|
-
| '
|
|
74
|
-
| '
|
|
75
|
-
| '
|
|
76
|
-
| '
|
|
77
|
-
| '
|
|
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>;
|