@lodev09/react-native-true-sheet 3.8.0-beta.0 → 3.8.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,7 +37,7 @@ class TrueSheetContainerView(reactContext: ThemedReactContext) :
37
37
 
38
38
  var insetAdjustment: String = "automatic"
39
39
  var scrollViewBottomInset: Int = 0
40
- var scrollViewPinningEnabled: Boolean = false
40
+ var scrollableEnabled: Boolean = false
41
41
  var scrollableOptions: ReadableMap? = null
42
42
  set(value) {
43
43
  field = value
@@ -53,9 +53,9 @@ class TrueSheetContainerView(reactContext: ThemedReactContext) :
53
53
  clipToPadding = false
54
54
  }
55
55
 
56
- fun setupContentScrollViewPinning() {
56
+ fun setupScrollable() {
57
57
  val bottomInset = if (insetAdjustment == "automatic") scrollViewBottomInset else 0
58
- contentView?.setupScrollViewPinning(scrollViewPinningEnabled, bottomInset)
58
+ contentView?.setupScrollable(scrollableEnabled, bottomInset)
59
59
  }
60
60
 
61
61
  fun setupKeyboardHandler() {
@@ -52,9 +52,9 @@ class TrueSheetContentView(private val reactContext: ThemedReactContext) : React
52
52
  }
53
53
  }
54
54
 
55
- fun setupScrollViewPinning(enabled: Boolean, bottomInset: Int) {
55
+ fun setupScrollable(enabled: Boolean, bottomInset: Int) {
56
56
  if (!enabled) {
57
- clearScrollViewPinning()
57
+ clearScrollable()
58
58
  return
59
59
  }
60
60
 
@@ -89,7 +89,7 @@ class TrueSheetContentView(private val reactContext: ThemedReactContext) : React
89
89
  }
90
90
  }
91
91
 
92
- fun clearScrollViewPinning() {
92
+ fun clearScrollable() {
93
93
  pinnedScrollView?.setPadding(
94
94
  pinnedScrollView!!.paddingLeft,
95
95
  pinnedScrollView!!.paddingTop,
@@ -120,7 +120,7 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
120
120
  if (child is TrueSheetContainerView) {
121
121
  child.delegate = this
122
122
  viewController.createSheet()
123
- setupContentScrollViewPinning()
123
+ setupScrollable()
124
124
 
125
125
  val surfaceId = UIManagerHelper.getSurfaceId(this)
126
126
  eventDispatcher?.dispatchEvent(MountEvent(surfaceId, id))
@@ -186,7 +186,7 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
186
186
  * Reconfigures the sheet if it's currently presented.
187
187
  */
188
188
  fun finalizeUpdates() {
189
- setupContentScrollViewPinning()
189
+ setupScrollable()
190
190
 
191
191
  if (viewController.isPresented) {
192
192
  viewController.sheetView?.setupBackground()
@@ -256,26 +256,26 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
256
256
 
257
257
  fun setInsetAdjustment(insetAdjustment: String) {
258
258
  viewController.insetAdjustment = insetAdjustment
259
- setupContentScrollViewPinning()
259
+ setupScrollable()
260
260
  }
261
261
 
262
262
  fun setScrollable(scrollable: Boolean) {
263
263
  viewController.scrollable = scrollable
264
- setupContentScrollViewPinning()
264
+ setupScrollable()
265
265
  }
266
266
 
267
267
  fun setScrollableOptions(options: ReadableMap?) {
268
268
  viewController.scrollableOptions = options
269
- setupContentScrollViewPinning()
269
+ setupScrollable()
270
270
  }
271
271
 
272
- private fun setupContentScrollViewPinning() {
272
+ private fun setupScrollable() {
273
273
  viewController.containerView?.let {
274
274
  it.insetAdjustment = viewController.insetAdjustment
275
- it.scrollViewPinningEnabled = viewController.scrollable
275
+ it.scrollableEnabled = viewController.scrollable
276
276
  it.scrollViewBottomInset = viewController.contentBottomInset
277
277
  it.scrollableOptions = viewController.scrollableOptions
278
- it.setupContentScrollViewPinning()
278
+ it.setupScrollable()
279
279
  }
280
280
  }
281
281
 
@@ -39,12 +39,12 @@ NS_ASSUME_NONNULL_BEGIN
39
39
  @property (nonatomic, weak, nullable) id<TrueSheetContainerViewDelegate> delegate;
40
40
 
41
41
  /**
42
- * Enable ScrollView pinning
42
+ * Enable scrollable content
43
43
  */
44
- @property (nonatomic, assign) BOOL scrollViewPinningEnabled;
44
+ @property (nonatomic, assign) BOOL scrollableEnabled;
45
45
 
46
46
  /**
47
- * Inset adjustment mode for pinned ScrollView
47
+ * Inset adjustment mode for scrollable content
48
48
  */
49
49
  @property (nonatomic, copy, nullable) NSString *insetAdjustment;
50
50
 
@@ -69,9 +69,9 @@ NS_ASSUME_NONNULL_BEGIN
69
69
  - (void)layoutFooter;
70
70
 
71
71
  /**
72
- * Setup ScrollView pinning
72
+ * Setup scrollable content
73
73
  */
74
- - (void)setupContentScrollViewPinning;
74
+ - (void)setupScrollable;
75
75
 
76
76
  /**
77
77
  * Setup keyboard observer for content and footer
@@ -23,6 +23,7 @@
23
23
 
24
24
  #import <React/RCTConversions.h>
25
25
  #import <React/RCTLog.h>
26
+ #import <react/renderer/core/LayoutMetrics.h>
26
27
 
27
28
  using namespace facebook::react;
28
29
 
@@ -34,7 +35,7 @@ using namespace facebook::react;
34
35
  TrueSheetHeaderView *_headerView;
35
36
  TrueSheetFooterView *_footerView;
36
37
  TrueSheetKeyboardObserver *_keyboardObserver;
37
- BOOL _scrollViewPinningSet;
38
+ BOOL _scrollableSet;
38
39
  }
39
40
 
40
41
  #pragma mark - Initialization
@@ -52,13 +53,18 @@ using namespace facebook::react;
52
53
  _contentView = nil;
53
54
  _headerView = nil;
54
55
  _footerView = nil;
55
- _scrollViewPinningSet = NO;
56
+ _scrollableSet = NO;
56
57
  }
57
58
  return self;
58
59
  }
59
60
 
60
61
  #pragma mark - Layout
61
62
 
63
+ - (void)layoutSubviews {
64
+ [super layoutSubviews];
65
+ [_contentView updateScrollViewHeight];
66
+ }
67
+
62
68
  - (CGFloat)contentHeight {
63
69
  return _contentView ? _contentView.frame.size.height : 0;
64
70
  }
@@ -76,9 +82,9 @@ using namespace facebook::react;
76
82
  }
77
83
  }
78
84
 
79
- - (void)setScrollViewPinningEnabled:(BOOL)scrollViewPinningEnabled {
80
- _scrollViewPinningEnabled = scrollViewPinningEnabled;
81
- _scrollViewPinningSet = YES;
85
+ - (void)setScrollableEnabled:(BOOL)scrollableEnabled {
86
+ _scrollableEnabled = scrollableEnabled;
87
+ _scrollableSet = YES;
82
88
  }
83
89
 
84
90
  - (void)setScrollableOptions:(NSDictionary *)scrollableOptions {
@@ -91,13 +97,13 @@ using namespace facebook::react;
91
97
  }
92
98
  }
93
99
 
94
- - (void)setupContentScrollViewPinning {
95
- if (_scrollViewPinningSet && _contentView) {
100
+ - (void)setupScrollable {
101
+ if (_scrollableSet && _contentView) {
96
102
  CGFloat bottomInset = 0;
97
103
  if ([_insetAdjustment isEqualToString:@"automatic"]) {
98
104
  bottomInset = [WindowUtil keyWindow].safeAreaInsets.bottom;
99
105
  }
100
- [_contentView setupScrollViewPinning:_scrollViewPinningEnabled bottomInset:bottomInset];
106
+ [_contentView setupScrollable:_scrollableEnabled bottomInset:bottomInset];
101
107
  }
102
108
  }
103
109
 
@@ -157,6 +163,12 @@ using namespace facebook::react;
157
163
  [super updateProps:props oldProps:oldProps];
158
164
  }
159
165
 
166
+ #pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
167
+ - (void)updateLayoutMetrics:(const LayoutMetrics &)layoutMetrics
168
+ oldLayoutMetrics:(const LayoutMetrics &)oldLayoutMetrics {
169
+ // Intentionally skip super - AutoLayout handles container's frame, not Yoga
170
+ }
171
+
160
172
  #pragma mark - TrueSheetContentViewDelegate
161
173
 
162
174
  - (void)contentViewDidChangeSize:(CGSize)newSize {
@@ -164,11 +176,7 @@ using namespace facebook::react;
164
176
  }
165
177
 
166
178
  - (void)contentViewDidChangeChildren {
167
- [self setupContentScrollViewPinning];
168
- }
169
-
170
- - (void)contentViewDidChangeInsets {
171
- [self setupContentScrollViewPinning];
179
+ [self setupScrollable];
172
180
  }
173
181
 
174
182
  #pragma mark - TrueSheetHeaderViewDelegate
@@ -23,7 +23,6 @@ NS_ASSUME_NONNULL_BEGIN
23
23
 
24
24
  - (void)contentViewDidChangeSize:(CGSize)newSize;
25
25
  - (void)contentViewDidChangeChildren;
26
- - (void)contentViewDidChangeInsets;
27
26
 
28
27
  @end
29
28
 
@@ -33,14 +32,19 @@ NS_ASSUME_NONNULL_BEGIN
33
32
  @property (nonatomic, assign) CGFloat keyboardScrollOffset;
34
33
  @property (nonatomic, weak, nullable) TrueSheetKeyboardObserver *keyboardObserver;
35
34
 
36
- - (RCTScrollViewComponentView *_Nullable)findScrollView:(UIView *_Nullable *_Nullable)outTopSibling;
35
+ - (RCTScrollViewComponentView *_Nullable)findScrollView;
37
36
 
38
37
  /**
39
- * Setup ScrollView pinning
40
- * @param pinned Whether to pin the scroll view
38
+ * Setup scrollable content
39
+ * @param enabled Whether scrollable is enabled
41
40
  * @param bottomInset Bottom content inset for the scroll view
42
41
  */
43
- - (void)setupScrollViewPinning:(BOOL)pinned bottomInset:(CGFloat)bottomInset;
42
+ - (void)setupScrollable:(BOOL)enabled bottomInset:(CGFloat)bottomInset;
43
+
44
+ /**
45
+ * Update the pinned scroll view's height to fill the container
46
+ */
47
+ - (void)updateScrollViewHeight;
44
48
 
45
49
  @end
46
50
 
@@ -16,20 +16,16 @@
16
16
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
17
17
  #import "TrueSheetView.h"
18
18
  #import "TrueSheetViewController.h"
19
- #import "utils/LayoutUtil.h"
20
19
  #import "utils/UIView+FirstResponder.h"
21
20
 
22
21
  using namespace facebook::react;
23
22
 
24
23
  @implementation TrueSheetContentView {
25
24
  RCTScrollViewComponentView *_pinnedScrollView;
26
- UIView *_pinnedTopView;
27
25
  CGSize _lastSize;
28
- UIEdgeInsets _contentInsets;
29
- UIEdgeInsets _pinnedInsets;
30
26
  CGFloat _bottomInset;
27
+ CGFloat _originalScrollViewHeight;
31
28
  CGFloat _originalIndicatorBottomInset;
32
- CGFloat _currentKeyboardHeight;
33
29
  }
34
30
 
35
31
  + (ComponentDescriptorProvider)componentDescriptorProvider {
@@ -50,14 +46,6 @@ using namespace facebook::react;
50
46
  oldLayoutMetrics:(const LayoutMetrics &)oldLayoutMetrics {
51
47
  [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
52
48
 
53
- UIEdgeInsets newInsets = UIEdgeInsetsMake(layoutMetrics.contentInsets.top, layoutMetrics.contentInsets.left,
54
- layoutMetrics.contentInsets.bottom, layoutMetrics.contentInsets.right);
55
-
56
- if (!UIEdgeInsetsEqualToEdgeInsets(newInsets, _contentInsets)) {
57
- _contentInsets = newInsets;
58
- [self.delegate contentViewDidChangeInsets];
59
- }
60
-
61
49
  CGSize newSize = CGSizeMake(layoutMetrics.frame.size.width, layoutMetrics.frame.size.height);
62
50
  if (!CGSizeEqualToSize(newSize, _lastSize)) {
63
51
  _lastSize = newSize;
@@ -77,12 +65,13 @@ using namespace facebook::react;
77
65
  [self.delegate contentViewDidChangeChildren];
78
66
  }
79
67
 
80
- #pragma mark - ScrollView Pinning
68
+ #pragma mark - Scrollable
81
69
 
82
- - (void)clearPinning {
70
+ - (void)clearScrollable {
83
71
  if (_pinnedScrollView) {
84
- [LayoutUtil unpinView:_pinnedScrollView fromParentView:self];
85
- [LayoutUtil unpinView:_pinnedScrollView fromParentView:self.superview];
72
+ CGRect frame = _pinnedScrollView.frame;
73
+ frame.size.height = _originalScrollViewHeight;
74
+ _pinnedScrollView.frame = frame;
86
75
 
87
76
  UIEdgeInsets contentInset = _pinnedScrollView.scrollView.contentInset;
88
77
  contentInset.bottom = 0;
@@ -93,70 +82,73 @@ using namespace facebook::react;
93
82
  _pinnedScrollView.scrollView.verticalScrollIndicatorInsets = indicatorInsets;
94
83
  }
95
84
  _pinnedScrollView = nil;
96
- _pinnedTopView = nil;
97
- _pinnedInsets = UIEdgeInsetsZero;
98
85
  _bottomInset = 0;
86
+ _originalScrollViewHeight = 0;
99
87
  _originalIndicatorBottomInset = 0;
100
88
  }
101
89
 
102
- - (void)setupScrollViewPinning:(BOOL)pinned bottomInset:(CGFloat)bottomInset {
103
- UIView *containerView = self.superview;
90
+ - (void)setupScrollable:(BOOL)enabled bottomInset:(CGFloat)bottomInset {
91
+ if (!enabled) {
92
+ [self clearScrollable];
93
+ return;
94
+ }
104
95
 
105
- if (!pinned) {
106
- [self clearPinning];
96
+ // Already set up with same inset
97
+ if (_pinnedScrollView && _bottomInset == bottomInset) {
107
98
  return;
108
99
  }
109
100
 
110
- UIView *topSibling = nil;
111
- RCTScrollViewComponentView *scrollView = [self findScrollView:&topSibling];
112
-
113
- BOOL needsUpdate = scrollView != _pinnedScrollView || topSibling != _pinnedTopView ||
114
- !UIEdgeInsetsEqualToEdgeInsets(_contentInsets, _pinnedInsets) || _bottomInset != bottomInset;
115
-
116
- if (scrollView && containerView && needsUpdate) {
117
- [self clearPinning];
118
-
119
- UIEdgeInsets insets =
120
- UIEdgeInsetsMake(topSibling ? 0 : _contentInsets.top, _contentInsets.left, 0, _contentInsets.right);
121
-
122
- if (topSibling) {
123
- [LayoutUtil pinView:scrollView
124
- toParentView:self
125
- withTopView:topSibling
126
- edges:UIRectEdgeLeft | UIRectEdgeRight
127
- insets:insets];
128
- } else {
129
- [LayoutUtil pinView:scrollView
130
- toParentView:self
131
- edges:UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeRight
132
- insets:insets];
133
- }
101
+ RCTScrollViewComponentView *scrollView = [self findScrollView];
102
+ if (!scrollView) {
103
+ return;
104
+ }
105
+
106
+ // Only capture originals on first pin
107
+ if (!_pinnedScrollView) {
108
+ _originalScrollViewHeight = scrollView.frame.size.height;
109
+ _originalIndicatorBottomInset = scrollView.scrollView.verticalScrollIndicatorInsets.bottom;
110
+ _pinnedScrollView = scrollView;
111
+ }
134
112
 
135
- [LayoutUtil pinView:scrollView toParentView:containerView edges:UIRectEdgeBottom];
113
+ _bottomInset = bottomInset;
136
114
 
137
- BOOL isNewScrollView = scrollView != _pinnedScrollView;
138
- if (isNewScrollView) {
139
- _originalIndicatorBottomInset = scrollView.scrollView.verticalScrollIndicatorInsets.bottom;
140
- }
115
+ [self updateScrollViewHeight];
141
116
 
142
- _pinnedScrollView = scrollView;
143
- _pinnedTopView = topSibling;
144
- _pinnedInsets = _contentInsets;
145
- _bottomInset = bottomInset;
146
-
147
- UIEdgeInsets contentInset = scrollView.scrollView.contentInset;
148
- contentInset.bottom = bottomInset;
149
- scrollView.scrollView.contentInset = contentInset;
150
-
151
- UIEdgeInsets indicatorInsets = scrollView.scrollView.verticalScrollIndicatorInsets;
152
- indicatorInsets.bottom = _originalIndicatorBottomInset + bottomInset;
153
- scrollView.scrollView.verticalScrollIndicatorInsets = indicatorInsets;
154
- } else if (!scrollView && _pinnedScrollView) {
155
- [self clearPinning];
117
+ UIEdgeInsets contentInset = scrollView.scrollView.contentInset;
118
+ contentInset.bottom = bottomInset;
119
+ scrollView.scrollView.contentInset = contentInset;
120
+
121
+ UIEdgeInsets indicatorInsets = scrollView.scrollView.verticalScrollIndicatorInsets;
122
+ indicatorInsets.bottom = _originalIndicatorBottomInset;
123
+ scrollView.scrollView.verticalScrollIndicatorInsets = indicatorInsets;
124
+ }
125
+
126
+ - (void)updateScrollViewHeight {
127
+ if (!_pinnedScrollView) {
128
+ return;
129
+ }
130
+
131
+ UIView *containerView = self.superview;
132
+ if (!containerView) {
133
+ return;
134
+ }
135
+
136
+ CGRect scrollViewFrameInContainer = [_pinnedScrollView.superview convertRect:_pinnedScrollView.frame
137
+ toView:containerView];
138
+ CGFloat newHeight = containerView.bounds.size.height - scrollViewFrameInContainer.origin.y;
139
+
140
+ if (newHeight > 0) {
141
+ CGRect frame = _pinnedScrollView.frame;
142
+ frame.size.height = newHeight;
143
+ _pinnedScrollView.frame = frame;
156
144
  }
157
145
  }
158
146
 
159
- - (RCTScrollViewComponentView *)findScrollView:(UIView **)outTopSibling {
147
+ - (RCTScrollViewComponentView *)findScrollView {
148
+ if (_pinnedScrollView) {
149
+ return _pinnedScrollView;
150
+ }
151
+
160
152
  if (self.subviews.count == 0) {
161
153
  return nil;
162
154
  }
@@ -172,10 +164,6 @@ using namespace facebook::react;
172
164
  }
173
165
  }
174
166
 
175
- if (outTopSibling) {
176
- *outTopSibling = [self findTopSiblingForScrollView:scrollView];
177
- }
178
-
179
167
  return scrollView;
180
168
  }
181
169
 
@@ -188,33 +176,6 @@ using namespace facebook::react;
188
176
  return nil;
189
177
  }
190
178
 
191
- - (UIView *)findTopSiblingForScrollView:(RCTScrollViewComponentView *)scrollView {
192
- if (!scrollView || scrollView.superview != self || self.subviews.count <= 1) {
193
- return nil;
194
- }
195
-
196
- CGFloat scrollViewTop = CGRectGetMinY(scrollView.frame);
197
- UIView *topSibling = nil;
198
- CGFloat closestDistance = CGFLOAT_MAX;
199
-
200
- for (UIView *sibling in self.subviews) {
201
- if (sibling == scrollView || [sibling isKindOfClass:TrueSheetView.class]) {
202
- continue;
203
- }
204
-
205
- CGFloat siblingBottom = CGRectGetMaxY(sibling.frame);
206
- if (siblingBottom <= scrollViewTop) {
207
- CGFloat distance = scrollViewTop - siblingBottom;
208
- if (distance < closestDistance) {
209
- closestDistance = distance;
210
- topSibling = sibling;
211
- }
212
- }
213
- }
214
-
215
- return topSibling;
216
- }
217
-
218
179
  #pragma mark - TrueSheetKeyboardObserverDelegate
219
180
 
220
181
  - (void)keyboardWillShow:(CGFloat)height duration:(NSTimeInterval)duration curve:(UIViewAnimationOptions)curve {
@@ -222,8 +183,6 @@ using namespace facebook::react;
222
183
  return;
223
184
  }
224
185
 
225
- _currentKeyboardHeight = height;
226
-
227
186
  TrueSheetViewController *sheetController = _keyboardObserver.viewController;
228
187
  UIView *firstResponder = sheetController ? [sheetController.view findFirstResponder] : nil;
229
188
 
@@ -254,8 +213,6 @@ using namespace facebook::react;
254
213
  return;
255
214
  }
256
215
 
257
- _currentKeyboardHeight = 0;
258
-
259
216
  [UIView animateWithDuration:duration
260
217
  delay:0
261
218
  options:curve | UIViewAnimationOptionBeginFromCurrentState
@@ -275,8 +232,7 @@ using namespace facebook::react;
275
232
 
276
233
  - (void)prepareForRecycle {
277
234
  [super prepareForRecycle];
278
- _currentKeyboardHeight = 0;
279
- [self clearPinning];
235
+ [self clearScrollable];
280
236
  }
281
237
 
282
238
  @end
@@ -254,7 +254,7 @@ using namespace facebook::react;
254
254
  _controller.insetAdjustment = _insetAdjustment;
255
255
 
256
256
  if (_containerView) {
257
- _containerView.scrollViewPinningEnabled = _scrollable;
257
+ _containerView.scrollableEnabled = _scrollable;
258
258
  _containerView.insetAdjustment = _insetAdjustment;
259
259
  _containerView.scrollableOptions = _scrollableOptions;
260
260
  }
@@ -262,19 +262,17 @@ using namespace facebook::react;
262
262
 
263
263
  - (void)updateState:(const State::Shared &)state oldState:(const State::Shared &)oldState {
264
264
  _state = std::static_pointer_cast<TrueSheetViewShadowNode::ConcreteState const>(state);
265
-
266
- if (_controller) {
267
- [self updateStateWithSize:_controller.view.frame.size];
268
- }
269
-
270
265
  [_screensEventObserver startObservingWithState:_state.get()->getData()];
271
266
  }
272
267
 
273
268
  /**
274
- * Updates Fabric state with container width for Yoga layout.
269
+ * Updates Fabric state with container dimensions for Yoga layout.
275
270
  */
276
271
  - (void)updateStateWithSize:(CGSize)size {
277
- if (!_state || size.width <= 0 || size.width == _lastStateSize.width)
272
+ if (!_state)
273
+ return;
274
+
275
+ if (CGSizeEqualToSize(size, _lastStateSize))
278
276
  return;
279
277
 
280
278
  _lastStateSize = size;
@@ -282,6 +280,7 @@ using namespace facebook::react;
282
280
  -> TrueSheetViewShadowNode::ConcreteState::SharedData {
283
281
  auto newData = oldData;
284
282
  newData.containerWidth = static_cast<float>(size.width);
283
+ newData.containerHeight = static_cast<float>(size.height);
285
284
  return std::make_shared<TrueSheetViewShadowNode::ConcreteState::Data const>(newData);
286
285
  });
287
286
  }
@@ -299,7 +298,7 @@ using namespace facebook::react;
299
298
  return;
300
299
 
301
300
  if (_containerView) {
302
- [_containerView setupContentScrollViewPinning];
301
+ [_containerView setupScrollable];
303
302
  }
304
303
 
305
304
  if (_controller.isPresented) {
@@ -366,10 +365,10 @@ using namespace facebook::react;
366
365
  _controller.headerHeight = @(headerHeight);
367
366
  }
368
367
 
369
- _containerView.scrollViewPinningEnabled = _scrollable;
368
+ _containerView.scrollableEnabled = _scrollable;
370
369
  _containerView.insetAdjustment = _insetAdjustment;
371
370
  _containerView.scrollableOptions = _scrollableOptions;
372
- [_containerView setupContentScrollViewPinning];
371
+ [_containerView setupScrollable];
373
372
 
374
373
  if (_eventEmitter) {
375
374
  [TrueSheetLifecycleEvents emitMount:_eventEmitter];
@@ -340,7 +340,7 @@
340
340
 
341
341
  TrueSheetContentView *contentView = [self findContentView:presentedView];
342
342
  if (contentView) {
343
- RCTScrollViewComponentView *scrollViewComponent = [contentView findScrollView:nil];
343
+ RCTScrollViewComponentView *scrollViewComponent = [contentView findScrollView];
344
344
  if (scrollViewComponent && scrollViewComponent.scrollView) {
345
345
  [GestureUtil attachPanGestureHandler:scrollViewComponent.scrollView
346
346
  target:self
@@ -307,16 +307,10 @@ export class TrueSheet extends PureComponent {
307
307
  // Clamp to maximum of 1
308
308
  return Math.min(1, detent);
309
309
  });
310
- const containerStyle = this.props.scrollable && Platform.select({
311
- android: styles.scrollableAndroidContainer
312
- });
313
- const contentStyle = this.props.scrollable && Platform.select({
314
- android: styles.scrollableAndroidContent
315
- });
316
310
  return /*#__PURE__*/_jsx(TrueSheetViewNativeComponent, {
317
311
  ...rest,
318
312
  ref: this.nativeRef,
319
- style: styles.sheetView,
313
+ style: [StyleSheet.absoluteFill, styles.sheetView],
320
314
  detents: resolvedDetents,
321
315
  backgroundBlur: backgroundBlur,
322
316
  blurOptions: blurOptions,
@@ -354,12 +348,12 @@ export class TrueSheet extends PureComponent {
354
348
  onDidBlur: this.onDidBlur,
355
349
  onBackPress: this.onBackPress,
356
350
  children: this.state.shouldRenderNativeView && /*#__PURE__*/_jsxs(TrueSheetContainerViewNativeComponent, {
357
- style: containerStyle,
351
+ style: scrollable && StyleSheet.absoluteFill,
358
352
  children: [header && /*#__PURE__*/_jsx(TrueSheetHeaderViewNativeComponent, {
359
353
  style: [styles.header, headerStyle],
360
354
  children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
361
355
  }), /*#__PURE__*/_jsx(TrueSheetContentViewNativeComponent, {
362
- style: [style, contentStyle],
356
+ style: [style, scrollable && styles.scrollableContent],
363
357
  children: children
364
358
  }), footer && /*#__PURE__*/_jsx(TrueSheetFooterViewNativeComponent, {
365
359
  style: [styles.footer, footerStyle],
@@ -372,24 +366,9 @@ export class TrueSheet extends PureComponent {
372
366
  const styles = StyleSheet.create({
373
367
  sheetView: {
374
368
  zIndex: -9999,
375
- pointerEvents: 'box-none',
376
- position: 'absolute',
377
- top: 0,
378
- left: 0,
379
- right: 0,
380
- // Android needs a fixed bottom to avoid jumping content
381
- bottom: Platform.select({
382
- android: 0
383
- })
384
- },
385
- scrollableAndroidContainer: {
386
- position: 'absolute',
387
- top: 0,
388
- left: 0,
389
- right: 0,
390
- bottom: 0
369
+ pointerEvents: 'box-none'
391
370
  },
392
- scrollableAndroidContent: {
371
+ scrollableContent: {
393
372
  flexGrow: 1,
394
373
  flexBasis: 0
395
374
  },
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","onBackPress","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","resize","dismissAll","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","resizeByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","draggable","grabber","grabberOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxHeight","scrollable","scrollableOptions","pageSizing","children","style","header","headerStyle","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","containerStyle","android","styles","scrollableAndroidContainer","contentStyle","scrollableAndroidContent","ref","sheetView","color","create","zIndex","pointerEvents","position","top","left","right","bottom","flexGrow","flexBasis"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":";;AAAA,SACEA,aAAa,EAEbC,SAAS,EAGTC,cAAc,EACdC,aAAa,QACR,OAAO;AAqBd,OAAOC,4BAA4B,MAAM,uCAAuC;AAChF,OAAOC,qCAAqC,MAAM,gDAAgD;AAClG,OAAOC,mCAAmC,MAAM,8CAA8C;AAC9F,OAAOC,kCAAkC,MAAM,6CAA6C;AAC5F,OAAOC,kCAAkC,MAAM,6CAA6C;AAE5F,OAAOC,eAAe,MAAM,kCAA+B;AAE3D,SAASC,QAAQ,EAAEC,UAAU,EAAEC,cAAc,EAAEC,YAAY,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;AAQA,OAAO,MAAMK,SAAS,SACZvB,aAAa,CAEvB;EACEwB,WAAW,GAAG,WAAW;EAIzB;AACF;AACA;EACE,OAAwBC,SAAS,GAAkC,CAAC,CAAC;;EAErE;AACF;AACA;EACUC,oBAAoB,GAAwB,IAAI;;EAExD;AACF;AACA;EACUC,YAAY,GAAY,KAAK;EAErCC,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,SAAS,gBAAG7B,SAAS,CAAY,CAAC;IAEvC,IAAI,CAAC8B,eAAe,CAAC,CAAC;;IAEtB;IACA,MAAMC,uBAAuB,GAC3BH,KAAK,CAACI,kBAAkB,KAAKC,SAAS,IAAIL,KAAK,CAACI,kBAAkB,IAAI,CAAC;IAEzE,IAAI,CAACE,KAAK,GAAG;MACXC,sBAAsB,EAAEJ;IAC1B,CAAC;IAED,IAAI,CAACK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;IACtC,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACG,aAAa,GAAG,IAAI,CAACA,aAAa,CAACH,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACK,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACM,WAAW,GAAG,IAAI,CAACA,WAAW,CAACN,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,SAAS,GAAG,IAAI,CAACA,SAAS,CAACR,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACS,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACT,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACU,WAAW,GAAG,IAAI,CAACA,WAAW,CAACV,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACW,UAAU,GAAG,IAAI,CAACA,UAAU,CAACX,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACY,UAAU,GAAG,IAAI,CAACA,UAAU,CAACZ,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACa,SAAS,GAAG,IAAI,CAACA,SAAS,CAACb,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACc,WAAW,GAAG,IAAI,CAACA,WAAW,CAACd,IAAI,CAAC,IAAI,CAAC;EAChD;EAEQP,eAAeA,CAAA,EAAS;IAC9B,MAAM;MAAEsB,OAAO;MAAEpB;IAAmB,CAAC,GAAG,IAAI,CAACJ,KAAK;;IAElD;IACA,IAAIwB,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,IAAIzB,kBAAkB,KAAKC,SAAS,IAAID,kBAAkB,IAAI,CAAC,EAAE;MAC/D,MAAM2B,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACT,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD,IAAIrB,kBAAkB,IAAI2B,aAAa,EAAE;QACvC,MAAM,IAAItC,KAAK,CACb,kCAAkCW,kBAAkB,yCAAyC2B,aAAa,UAC5G,CAAC;MACH;IACF;EACF;EAEA,OAAeG,WAAWA,CAACC,IAAY,EAAE;IACvC,MAAMC,QAAQ,GAAG1C,SAAS,CAACE,SAAS,CAACuC,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,GAAGvD,cAAc,CAAC,IAAI,CAACkB,SAAS,CAACsC,OAAO,CAAC;IACzD,IAAID,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAE;MAC3C,MAAM,IAAI7C,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,OAAO6C,UAAU;EACnB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,OAAOA,CACzBL,IAAY,EACZL,KAAa,GAAG,CAAC,EACjBW,QAAiB,GAAG,IAAI,EACT;IACf,MAAML,QAAQ,GAAG1C,SAAS,CAACwC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI3C,KAAK,CAAC,oBAAoB0C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACI,OAAO,CAACV,KAAK,EAAEW,QAAQ,CAAC;EAC1C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBC,OAAOA,CAACP,IAAY,EAAEM,QAAiB,GAAG,IAAI,EAAiB;IACjF,MAAML,QAAQ,GAAG1C,SAAS,CAACwC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI3C,KAAK,CAAC,oBAAoB0C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACM,OAAO,CAACD,QAAQ,CAAC;EACnC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,MAAMA,CAACR,IAAY,EAAEL,KAAa,EAAiB;IACrE,MAAMM,QAAQ,GAAG1C,SAAS,CAACwC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAI3C,KAAK,CAAC,oBAAoB0C,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACO,MAAM,CAACb,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBc,UAAUA,CAACH,QAAiB,GAAG,IAAI,EAAiB;IACtE,OAAO7D,eAAe,EAAEgE,UAAU,CAACH,QAAQ,CAAC;EAC9C;EAEQI,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,IAAI,CAAC7C,KAAK,CAACmC,IAAI,EAAE;MACnBzC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACI,KAAK,CAACmC,IAAI,CAAC,GAAG,IAAI;IAC7C;EACF;EAEQW,kBAAkBA,CAAA,EAAS;IACjC,IAAI,IAAI,CAAC9C,KAAK,CAACmC,IAAI,EAAE;MACnB,OAAOzC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACI,KAAK,CAACmC,IAAI,CAAC;IAC7C;EACF;EAEQrB,cAAcA,CAACiC,KAAwB,EAAQ;IACrD,IAAI,CAAC/C,KAAK,CAACc,cAAc,GAAGiC,KAAK,CAAC;EACpC;EAEQnC,aAAaA,CAACmC,KAAuB,EAAQ;IACnD,IAAI,CAAC/C,KAAK,CAACY,aAAa,GAAGmC,KAAK,CAAC;EACnC;EAEQlC,YAAYA,CAACkC,KAAsB,EAAQ;IACjD,IAAI,CAAC/C,KAAK,CAACa,YAAY,GAAGkC,KAAK,CAAC;EAClC;EAEQrC,aAAaA,CAACqC,KAAuB,EAAQ;IACnD,IAAI,CAAC/C,KAAK,CAACU,aAAa,GAAGqC,KAAK,CAAC;EACnC;EAEQpC,YAAYA,CAACoC,KAAsB,EAAQ;IACjD;IACA;IACA,IAAI,CAAC,IAAI,CAACjD,YAAY,EAAE;MACtB,IAAI,CAACkD,QAAQ,CAAC;QAAEzC,sBAAsB,EAAE;MAAM,CAAC,CAAC;IAClD;IAEA,IAAI,CAACP,KAAK,CAACW,YAAY,GAAGoC,KAAK,CAAC;EAClC;EAEQvC,OAAOA,CAACuC,KAAiB,EAAQ;IACvC;IACA,IAAI,IAAI,CAAClD,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACA,oBAAoB,GAAG,IAAI;IAClC;IAEA,IAAI,CAACG,KAAK,CAACQ,OAAO,GAAGuC,KAAK,CAAC;EAC7B;EAEQhC,WAAWA,CAACgC,KAAqB,EAAQ;IAC/C,IAAI,CAAC/C,KAAK,CAACe,WAAW,GAAGgC,KAAK,CAAC;EACjC;EAEQ/B,YAAYA,CAAC+B,KAAsB,EAAQ;IACjD,IAAI,CAAC/C,KAAK,CAACgB,YAAY,GAAG+B,KAAK,CAAC;EAClC;EAEQ9B,SAASA,CAAC8B,KAAmB,EAAQ;IAC3C,IAAI,CAAC/C,KAAK,CAACiB,SAAS,GAAG8B,KAAK,CAAC;EAC/B;EAEQ7B,gBAAgBA,CAAC6B,KAA0B,EAAQ;IACzD,IAAI,CAAC/C,KAAK,CAACkB,gBAAgB,GAAG6B,KAAK,CAAC;EACtC;EAEQ5B,WAAWA,CAAC4B,KAAqB,EAAQ;IAC/C,IAAI,CAAC/C,KAAK,CAACmB,WAAW,GAAG4B,KAAK,CAAC;EACjC;EAEQ3B,UAAUA,CAAC2B,KAAoB,EAAQ;IAC7C,IAAI,CAAC/C,KAAK,CAACoB,UAAU,GAAG2B,KAAK,CAAC;EAChC;EAEQ1B,UAAUA,CAAC0B,KAAoB,EAAQ;IAC7C,IAAI,CAAC/C,KAAK,CAACqB,UAAU,GAAG0B,KAAK,CAAC;EAChC;EAEQzB,SAASA,CAACyB,KAAmB,EAAQ;IAC3C,IAAI,CAAC/C,KAAK,CAACsB,SAAS,GAAGyB,KAAK,CAAC;EAC/B;EAEQxB,WAAWA,CAACwB,KAAqB,EAAQ;IAC/C,IAAI,CAAC/C,KAAK,CAACuB,WAAW,GAAGwB,KAAK,CAAC;EACjC;EAEA,MAAaP,OAAOA,CAACV,KAAa,GAAG,CAAC,EAAEW,QAAiB,GAAG,IAAI,EAAiB;IAC/E,MAAMV,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAACjC,KAAK,CAACwB,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,IAAIK,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIC,aAAa,EAAE;MACvC,MAAM,IAAItC,KAAK,CACb,6BAA6BqC,KAAK,yCAAyCC,aAAa,UAC1F,CAAC;IACH;IAEA,IAAI,CAACjC,YAAY,GAAG,IAAI;;IAExB;IACA,IAAI,CAAC,IAAI,CAACQ,KAAK,CAACC,sBAAsB,EAAE;MACtC,MAAM,IAAI0C,OAAO,CAAQC,OAAO,IAAK;QACnC,IAAI,CAACrD,oBAAoB,GAAGqD,OAAO;QACnC,IAAI,CAACF,QAAQ,CAAC;UAAEzC,sBAAsB,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC;IACJ;IAEA,MAAM3B,eAAe,EAAEuE,YAAY,CAAC,IAAI,CAACd,MAAM,EAAEP,KAAK,EAAEW,QAAQ,CAAC;IACjE,IAAI,CAAC3C,YAAY,GAAG,KAAK;EAC3B;EAEA,MAAa6C,MAAMA,CAACb,KAAa,EAAiB;IAChD,MAAMlD,eAAe,EAAEwE,WAAW,CAAC,IAAI,CAACf,MAAM,EAAEP,KAAK,CAAC;EACxD;EAEA,MAAaY,OAAOA,CAACD,QAAiB,GAAG,IAAI,EAAiB;IAC5D,OAAO7D,eAAe,EAAEyE,YAAY,CAAC,IAAI,CAAChB,MAAM,EAAEI,QAAQ,CAAC;EAC7D;EAEAa,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACT,gBAAgB,CAAC,CAAC;EACzB;EAEAU,kBAAkBA,CAACC,SAAyB,EAAQ;IAClD,IAAI,CAACX,gBAAgB,CAAC,CAAC;;IAEvB;IACA,IAAIW,SAAS,CAAChC,OAAO,KAAK,IAAI,CAACxB,KAAK,CAACwB,OAAO,EAAE;MAC5C,IAAI,CAACtB,eAAe,CAAC,CAAC;IACxB;EACF;EAEAuD,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACX,kBAAkB,CAAC,CAAC;;IAEzB;IACA,IAAI,CAACjD,oBAAoB,GAAG,IAAI;EAClC;EAEA6D,MAAMA,CAAA,EAAc;IAClB,MAAM;MACJlC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;MAClBmC,eAAe;MACfC,WAAW,GAAG,IAAI;MAClBC,SAAS,GAAG,IAAI;MAChBC,OAAO,GAAG,IAAI;MACdC,cAAc;MACdC,MAAM,GAAG,IAAI;MACb5D,kBAAkB,GAAG,CAAC,CAAC;MACvB6D,qBAAqB,GAAG,IAAI;MAE5BC,iBAAiB;MACjBC,cAAc;MACdC,WAAW;MACXC,YAAY;MACZC,SAAS;MACTC,UAAU,GAAG,KAAK;MAClBC,iBAAiB;MACjBC,UAAU,GAAG,IAAI;MACjBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC,WAAW;MACXC,MAAM;MACNC,WAAW;MACXC,eAAe,GAAG,WAAW;MAC7B,GAAGC;IACL,CAAC,GAAG,IAAI,CAACjF,KAAK;;IAEd;IACA,MAAMkF,eAAe,GAAG1D,OAAO,CAAC2D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAEvD,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,MAAMwD,cAAc,GAClB,IAAI,CAACrF,KAAK,CAACuE,UAAU,IACrB1F,QAAQ,CAACS,MAAM,CAAC;MACdgG,OAAO,EAAEC,MAAM,CAACC;IAClB,CAAC,CAAC;IAEJ,MAAMC,YAAY,GAChB,IAAI,CAACzF,KAAK,CAACuE,UAAU,IACrB1F,QAAQ,CAACS,MAAM,CAAC;MACdgG,OAAO,EAAEC,MAAM,CAACG;IAClB,CAAC,CAAC;IAEJ,oBACExG,IAAA,CAACX,4BAA4B;MAAA,GACvB0G,IAAI;MACRU,GAAG,EAAE,IAAI,CAAC1F,SAAU;MACpB0E,KAAK,EAAEY,MAAM,CAACK,SAAU;MACxBpE,OAAO,EAAE0D,eAAgB;MACzBf,cAAc,EAAEA,cAAe;MAC/BC,WAAW,EAAEA,WAAY;MACzBT,eAAe,EAAEA,eAAgB;MACjCU,YAAY,EAAEA,YAAa;MAC3BP,OAAO,EAAEA,OAAQ;MACjBC,cAAc,EAAE;QACd,GAAGA,cAAc;QACjB8B,KAAK,EAAE7G,YAAY,CAAC+E,cAAc,EAAE8B,KAAK;MAC3C,CAAE;MACF7B,MAAM,EAAEA,MAAO;MACfE,iBAAiB,EAAEA,iBAAkB;MACrC9D,kBAAkB,EAAEA,kBAAmB;MACvC6D,qBAAqB,EAAEA,qBAAsB;MAC7CL,WAAW,EAAEA,WAAY;MACzBC,SAAS,EAAEA,SAAU;MACrBS,SAAS,EAAEA,SAAU;MACrBC,UAAU,EAAEA,UAAW;MACvBC,iBAAiB,EAAEA,iBAAkB;MACrCC,UAAU,EAAEA,UAAW;MACvBO,eAAe,EAAEA,eAAgB;MACjCxE,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBI,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCH,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCG,cAAc,EAAE,IAAI,CAACA,cAAe;MACpCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;MACxCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,UAAU,EAAE,IAAI,CAACA,UAAW;MAC5BC,UAAU,EAAE,IAAI,CAACA,UAAW;MAC5BC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,WAAW,EAAE,IAAI,CAACA,WAAY;MAAAmD,QAAA,EAE7B,IAAI,CAACpE,KAAK,CAACC,sBAAsB,iBAChCnB,KAAA,CAACZ,qCAAqC;QAACmG,KAAK,EAAEU,cAAe;QAAAX,QAAA,GAC1DE,MAAM,iBACL1F,IAAA,CAACR,kCAAkC;UAACiG,KAAK,EAAE,CAACY,MAAM,CAACX,MAAM,EAAEC,WAAW,CAAE;UAAAH,QAAA,EACrE,aAAArG,cAAc,CAACuG,MAAM,CAAC,GAAGA,MAAM,gBAAGtG,aAAa,CAACsG,MAAM;QAAC,CACtB,CACrC,eACD1F,IAAA,CAACT,mCAAmC;UAACkG,KAAK,EAAE,CAACA,KAAK,EAAEc,YAAY,CAAE;UAAAf,QAAA,EAC/DA;QAAQ,CAC0B,CAAC,EACrCI,MAAM,iBACL5F,IAAA,CAACP,kCAAkC;UAACgG,KAAK,EAAE,CAACY,MAAM,CAACT,MAAM,EAAEC,WAAW,CAAE;UAAAL,QAAA,EACrE,aAAArG,cAAc,CAACyG,MAAM,CAAC,GAAGA,MAAM,gBAAGxG,aAAa,CAACwG,MAAM;QAAC,CACtB,CACrC;MAAA,CACoC;IACxC,CAC2B,CAAC;EAEnC;AACF;AAEA,MAAMS,MAAM,GAAGzG,UAAU,CAACgH,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,MAAM,EAAE,CAAC,IAAI;IACbC,aAAa,EAAE,UAAU;IACzBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IAER;IACAC,MAAM,EAAExH,QAAQ,CAACS,MAAM,CAAC;MAAEgG,OAAO,EAAE;IAAE,CAAC;EACxC,CAAC;EACDE,0BAA0B,EAAE;IAC1BS,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV,CAAC;EACDX,wBAAwB,EAAE;IACxBY,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAE;EACb,CAAC;EACD3B,MAAM,EAAE;IACNoB,aAAa,EAAE;EACjB,CAAC;EACDlB,MAAM,EAAE;IACNkB,aAAa,EAAE,UAAU;IACzBC,QAAQ,EAAE,UAAU;IACpBE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","onBackPress","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","resize","dismissAll","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","resizeByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","draggable","grabber","grabberOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxHeight","scrollable","scrollableOptions","pageSizing","children","style","header","headerStyle","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","ref","absoluteFill","styles","sheetView","color","scrollableContent","create","zIndex","pointerEvents","flexGrow","flexBasis","position","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAgBb,MAAM,mBAAmB,CAAC;AAwB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,YAAY;IAEvB,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;IAEzD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,KAAK,EAAE,cAAc;IAgCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAIN,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAmHpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAgBb,MAAM,mBAAmB,CAAC;AAwB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,YAAY;IAEvB,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;IAEzD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,KAAK,EAAE,cAAc;IAgCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAIN,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAyGpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.8.0-beta.0",
3
+ "version": "3.8.0-beta.2",
4
4
  "description": "The true native bottom sheet experience for your React Native Apps.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
package/src/TrueSheet.tsx CHANGED
@@ -400,23 +400,11 @@ export class TrueSheet
400
400
  return Math.min(1, detent);
401
401
  });
402
402
 
403
- const containerStyle =
404
- this.props.scrollable &&
405
- Platform.select({
406
- android: styles.scrollableAndroidContainer,
407
- });
408
-
409
- const contentStyle =
410
- this.props.scrollable &&
411
- Platform.select({
412
- android: styles.scrollableAndroidContent,
413
- });
414
-
415
403
  return (
416
404
  <TrueSheetViewNativeComponent
417
405
  {...rest}
418
406
  ref={this.nativeRef}
419
- style={styles.sheetView}
407
+ style={[StyleSheet.absoluteFill, styles.sheetView]}
420
408
  detents={resolvedDetents}
421
409
  backgroundBlur={backgroundBlur}
422
410
  blurOptions={blurOptions}
@@ -455,13 +443,15 @@ export class TrueSheet
455
443
  onBackPress={this.onBackPress}
456
444
  >
457
445
  {this.state.shouldRenderNativeView && (
458
- <TrueSheetContainerViewNativeComponent style={containerStyle}>
446
+ <TrueSheetContainerViewNativeComponent style={scrollable && StyleSheet.absoluteFill}>
459
447
  {header && (
460
448
  <TrueSheetHeaderViewNativeComponent style={[styles.header, headerStyle]}>
461
449
  {isValidElement(header) ? header : createElement(header)}
462
450
  </TrueSheetHeaderViewNativeComponent>
463
451
  )}
464
- <TrueSheetContentViewNativeComponent style={[style, contentStyle]}>
452
+ <TrueSheetContentViewNativeComponent
453
+ style={[style, scrollable && styles.scrollableContent]}
454
+ >
465
455
  {children}
466
456
  </TrueSheetContentViewNativeComponent>
467
457
  {footer && (
@@ -480,22 +470,8 @@ const styles = StyleSheet.create({
480
470
  sheetView: {
481
471
  zIndex: -9999,
482
472
  pointerEvents: 'box-none',
483
- position: 'absolute',
484
- top: 0,
485
- left: 0,
486
- right: 0,
487
-
488
- // Android needs a fixed bottom to avoid jumping content
489
- bottom: Platform.select({ android: 0 }),
490
- },
491
- scrollableAndroidContainer: {
492
- position: 'absolute',
493
- top: 0,
494
- left: 0,
495
- right: 0,
496
- bottom: 0,
497
473
  },
498
- scrollableAndroidContent: {
474
+ scrollableContent: {
499
475
  flexGrow: 1,
500
476
  flexBasis: 0,
501
477
  },