@lodev09/react-native-true-sheet 4.0.0-beta.3 → 4.0.0-beta.5
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/README.md +21 -2
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +24 -7
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +195 -174
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +5 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +6 -17
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +50 -8
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +101 -18
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +24 -1
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +3 -3
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +14 -24
- package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +0 -7
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +0 -8
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +54 -29
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +6 -1
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +1 -1
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +6 -4
- package/ios/TrueSheetContainerView.h +9 -7
- package/ios/TrueSheetContainerView.mm +6 -7
- package/ios/TrueSheetContentView.h +28 -14
- package/ios/TrueSheetContentView.mm +122 -179
- package/ios/TrueSheetFooterView.mm +17 -0
- package/ios/TrueSheetView.mm +13 -10
- package/ios/TrueSheetViewController.mm +35 -27
- package/ios/utils/UIView+ScrollEdgeInteraction.h +1 -0
- package/ios/utils/UIView+ScrollEdgeInteraction.mm +24 -2
- package/lib/module/TrueSheet.js +47 -14
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +26 -24
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +4 -0
- package/lib/typescript/src/TrueSheet.d.ts +2 -0
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +64 -1
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +3 -0
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/navigation/types.d.ts +1 -1
- package/lib/typescript/src/navigation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TrueSheet.tsx +48 -13
- package/src/TrueSheet.types.ts +68 -1
- package/src/TrueSheet.web.tsx +39 -24
- package/src/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
- package/src/fabric/TrueSheetViewNativeComponent.ts +4 -0
- package/src/navigation/types.ts +1 -0
|
@@ -639,24 +639,26 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
|
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
641
|
|
|
642
|
-
|
|
642
|
+
// Mid-drag the frame tracks the finger — never settle or learn from it;
|
|
643
|
+
// pending changes keep their flags and settle on the first post-drag layout.
|
|
644
|
+
if ((_pendingContentSizeChange || _pendingDetentsChange) && !_isDragging) {
|
|
643
645
|
_pendingContentSizeChange = NO;
|
|
644
646
|
_pendingDetentsChange = NO;
|
|
645
647
|
[self settleAtDetentIndex:self.currentDetentIndex debug:@"layout"];
|
|
646
|
-
} else
|
|
647
|
-
//
|
|
648
|
-
//
|
|
649
|
-
//
|
|
650
|
-
//
|
|
648
|
+
} else {
|
|
649
|
+
// A child on top moves this sheet two ways: an animated collapse/restore
|
|
650
|
+
// step (presenting/dismissing) — emit the target non-realtime so JS
|
|
651
|
+
// animates to it — or direct per-frame re-layouts while the child drags,
|
|
652
|
+
// which stay realtime. Mid-drag no child is on top, so drags emit realtime.
|
|
651
653
|
BOOL realtime = self.presentedViewController == nil || !self.isPresentedViewAnimating;
|
|
652
654
|
|
|
653
655
|
// A layout pass at rest can nudge the frame by a sub-pixel amount
|
|
654
656
|
// (pixel-grid snapping after present), leaving the interpolated index
|
|
655
657
|
// slightly off the whole number. Re-learn when the frame is effectively
|
|
656
658
|
// at the current detent so the drift is absorbed instead of emitted.
|
|
657
|
-
// The tight threshold keeps real movement (e.g. scroll-driven expansion
|
|
658
|
-
// from being absorbed.
|
|
659
|
-
if (self.presentedViewController == nil && !self.isPresentedViewAnimating) {
|
|
659
|
+
// The tight threshold keeps real movement (e.g. scroll-driven expansion
|
|
660
|
+
// or a drag hovering near the detent) from being absorbed.
|
|
661
|
+
if (!_isDragging && self.presentedViewController == nil && !self.isPresentedViewAnimating) {
|
|
660
662
|
NSInteger index = self.currentDetentIndex;
|
|
661
663
|
CGFloat expectedHeight = [_detentCalculator resolvedHeightForIndex:index];
|
|
662
664
|
CGFloat actualHeight = self.screenHeight - self.currentPosition;
|
|
@@ -780,7 +782,14 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
|
|
|
780
782
|
_isDragging = YES;
|
|
781
783
|
break;
|
|
782
784
|
case UIGestureRecognizerStateChanged:
|
|
783
|
-
|
|
785
|
+
// Layout owns the emit while the sheet resizes with the finger (a
|
|
786
|
+
// layout pass is already queued), and the transition tick owns it
|
|
787
|
+
// during an interactive dismiss. Translation-only movement (e.g.
|
|
788
|
+
// dragging down to the first detent) triggers neither — emit here as
|
|
789
|
+
// the backup.
|
|
790
|
+
if (!_isTransitioning && !self.presentedView.layer.needsLayout && !self.viewIfLoaded.layer.needsLayout) {
|
|
791
|
+
[self emitChangePositionDelegateWithPosition:self.currentPosition realtime:YES debug:@"drag change"];
|
|
792
|
+
}
|
|
784
793
|
break;
|
|
785
794
|
case UIGestureRecognizerStateEnded:
|
|
786
795
|
case UIGestureRecognizerStateCancelled: {
|
|
@@ -865,27 +874,26 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
|
|
|
865
874
|
}
|
|
866
875
|
|
|
867
876
|
- (void)handleTransitionTick {
|
|
868
|
-
//
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
if (self.isBeingDismissed) {
|
|
873
|
-
// Emit only once the dismiss is committed: on release UIKit moves the
|
|
874
|
-
// model frame off-screen, while a cancelled drag rewinds it back to the
|
|
875
|
-
// detent (isBeingDismissed stays YES during the rewind).
|
|
876
|
-
if (self.currentPosition >= self.screenHeight) {
|
|
877
|
-
[self emitWillDismissEvents];
|
|
878
|
-
}
|
|
877
|
+
// Also covers the interactive dismiss phase (finger down) — layout passes
|
|
878
|
+
// are skipped while transitioning, so the tick owns position there too.
|
|
879
|
+
CGFloat position = self.livePosition;
|
|
879
880
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
881
|
+
if (self.isBeingDismissed) {
|
|
882
|
+
// Emit only once the dismiss is committed: on release UIKit moves the
|
|
883
|
+
// model frame off-screen, while a cancelled drag rewinds it back to the
|
|
884
|
+
// detent (isBeingDismissed stays YES during the rewind).
|
|
885
|
+
if (self.currentPosition >= self.screenHeight) {
|
|
886
|
+
[self emitWillDismissEvents];
|
|
885
887
|
}
|
|
886
888
|
|
|
887
|
-
|
|
889
|
+
// Hide blur at the end of dismiss to prevent UIVisualEffectView
|
|
890
|
+
// from causing a flicker/flash at the bottom edge of the sheet.
|
|
891
|
+
if (self.screenHeight - position < 1) {
|
|
892
|
+
_blurView.alpha = 0;
|
|
893
|
+
}
|
|
888
894
|
}
|
|
895
|
+
|
|
896
|
+
[self emitChangePositionDelegateWithPosition:position realtime:YES debug:@"transition"];
|
|
889
897
|
}
|
|
890
898
|
|
|
891
899
|
/**
|
|
@@ -17,6 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
17
17
|
- (void)setupEdgeInteractionWithScrollView:(nullable UIScrollView *)scrollView
|
|
18
18
|
edge:(UIRectEdge)edge API_AVAILABLE(ios(26.0));
|
|
19
19
|
- (void)cleanupEdgeInteraction API_AVAILABLE(ios(26.0));
|
|
20
|
+
- (nullable UIScrollView *)edgeInteractionScrollView API_AVAILABLE(ios(26.0));
|
|
20
21
|
|
|
21
22
|
@end
|
|
22
23
|
|
|
@@ -31,15 +31,37 @@ static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
|
|
|
31
31
|
objc_setAssociatedObject(self, kEdgeEffectHintKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
- (nullable UIScrollView *)edgeInteractionScrollView API_AVAILABLE(ios(26.0)) {
|
|
35
|
+
#if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
|
|
36
|
+
for (id<UIInteraction> interaction in self.interactions) {
|
|
37
|
+
if ([interaction isKindOfClass:[UIScrollEdgeElementContainerInteraction class]]) {
|
|
38
|
+
return ((UIScrollEdgeElementContainerInteraction *)interaction).scrollView;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
#endif
|
|
42
|
+
return nil;
|
|
43
|
+
}
|
|
44
|
+
|
|
34
45
|
- (void)setupEdgeInteractionWithScrollView:(nullable UIScrollView *)scrollView
|
|
35
46
|
edge:(UIRectEdge)edge API_AVAILABLE(ios(26.0)) {
|
|
36
|
-
[self cleanupEdgeInteraction];
|
|
37
|
-
|
|
38
47
|
if (!scrollView) {
|
|
48
|
+
[self cleanupEdgeInteraction];
|
|
39
49
|
return;
|
|
40
50
|
}
|
|
41
51
|
|
|
42
52
|
#if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
|
|
53
|
+
// Update in place — this re-runs on every footer/header size change, and
|
|
54
|
+
// tearing the interaction down mid keyboard animation flashes the edge
|
|
55
|
+
// effect at the footer's final position.
|
|
56
|
+
for (id<UIInteraction> interaction in self.interactions) {
|
|
57
|
+
if ([interaction isKindOfClass:[UIScrollEdgeElementContainerInteraction class]]) {
|
|
58
|
+
UIScrollEdgeElementContainerInteraction *existing = (UIScrollEdgeElementContainerInteraction *)interaction;
|
|
59
|
+
existing.scrollView = scrollView;
|
|
60
|
+
existing.edge = edge;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
43
65
|
// UIScrollEdgeElementContainerInteraction requires standard UIKit element
|
|
44
66
|
// descendants (UILabel, UIControl, etc.) to trigger the edge effect.
|
|
45
67
|
// RCTViewComponentView subviews are not recognized, so we add a
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -16,12 +16,21 @@ const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't se
|
|
|
16
16
|
if (!TrueSheetModule) {
|
|
17
17
|
throw new Error(LINKING_ERROR);
|
|
18
18
|
}
|
|
19
|
-
// Claim touches that no descendant claimed so the responder negotiation
|
|
20
|
-
// doesn't bubble up to touchables outside the sheet
|
|
21
|
-
const absorbUnclaimedTouches = () => true;
|
|
22
|
-
|
|
23
19
|
// Stop raw touch events from bubbling past the sheet to outside ancestors
|
|
24
20
|
const stopTouchPropagation = event => event.stopPropagation();
|
|
21
|
+
|
|
22
|
+
// Stop the responder negotiation at the sheet boundary without claiming the
|
|
23
|
+
// responder. Views inside the sheet are asked before this one, so in-sheet
|
|
24
|
+
// touchables work normally; views outside are asked after, so stopping here
|
|
25
|
+
// keeps unclaimed touches from leaking to touchables behind the sheet.
|
|
26
|
+
// Claiming instead (returning true) would steal the responder from a pressed
|
|
27
|
+
// touchable whenever the negotiation re-runs mid-gesture — e.g. a second
|
|
28
|
+
// finger, or the duplicate touch stream from a nested react-native-screens
|
|
29
|
+
// screen that attaches its own touch handler inside the sheet.
|
|
30
|
+
const stopResponderNegotiation = event => {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
25
34
|
// Gates auto-present (initialDetentIndex) by one commit. Rendered last in the
|
|
26
35
|
// sheet subtree so its mount effect runs after the content's mount effects —
|
|
27
36
|
// updates they schedule (e.g. a navigation footer via setOptions) batch with
|
|
@@ -60,11 +69,12 @@ export class TrueSheet extends PureComponent {
|
|
|
60
69
|
this.nativeRef = /*#__PURE__*/createRef();
|
|
61
70
|
this.validateDetents();
|
|
62
71
|
|
|
63
|
-
// Lazy load by default, except when
|
|
64
|
-
const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0;
|
|
72
|
+
// Lazy load by default, except when auto-presenting or when lazy is disabled
|
|
73
|
+
const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0 || props.lazy === false;
|
|
65
74
|
this.state = {
|
|
66
75
|
shouldRenderNativeView: shouldRenderImmediately,
|
|
67
|
-
initialPresentReady: false
|
|
76
|
+
initialPresentReady: false,
|
|
77
|
+
scrollableHandle: null
|
|
68
78
|
};
|
|
69
79
|
this.onMount = this.onMount.bind(this);
|
|
70
80
|
this.onWillDismiss = this.onWillDismiss.bind(this);
|
|
@@ -89,6 +99,20 @@ export class TrueSheet extends PureComponent {
|
|
|
89
99
|
initialPresentReady: true
|
|
90
100
|
});
|
|
91
101
|
}
|
|
102
|
+
|
|
103
|
+
// Resolves after commit (didMount/didUpdate) — the scrollable mounts with the
|
|
104
|
+
// sheet content, so its ref is only populated once the native tree renders.
|
|
105
|
+
updateScrollableHandle() {
|
|
106
|
+
const {
|
|
107
|
+
scrollableRef
|
|
108
|
+
} = this.props;
|
|
109
|
+
const scrollableHandle = scrollableRef?.current ? findNodeHandle(scrollableRef.current) : null;
|
|
110
|
+
if (scrollableHandle !== this.state.scrollableHandle) {
|
|
111
|
+
this.setState({
|
|
112
|
+
scrollableHandle
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
92
116
|
validateDetents() {
|
|
93
117
|
const {
|
|
94
118
|
detents,
|
|
@@ -238,9 +262,8 @@ export class TrueSheet extends PureComponent {
|
|
|
238
262
|
this.backHandlerSubscription?.remove();
|
|
239
263
|
this.backHandlerSubscription = null;
|
|
240
264
|
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
if (!this.isPresenting) {
|
|
265
|
+
// Non-lazy content stays mounted; otherwise clean it up unless another presentation is active.
|
|
266
|
+
if (!this.isPresenting && this.props.lazy !== false) {
|
|
244
267
|
this.setState({
|
|
245
268
|
shouldRenderNativeView: false
|
|
246
269
|
});
|
|
@@ -350,9 +373,16 @@ export class TrueSheet extends PureComponent {
|
|
|
350
373
|
}
|
|
351
374
|
componentDidMount() {
|
|
352
375
|
this.registerInstance();
|
|
376
|
+
this.updateScrollableHandle();
|
|
353
377
|
}
|
|
354
378
|
componentDidUpdate(prevProps) {
|
|
355
379
|
this.registerInstance();
|
|
380
|
+
this.updateScrollableHandle();
|
|
381
|
+
if (prevProps.lazy !== false && this.props.lazy === false && !this.state.shouldRenderNativeView) {
|
|
382
|
+
this.setState({
|
|
383
|
+
shouldRenderNativeView: true
|
|
384
|
+
});
|
|
385
|
+
}
|
|
356
386
|
|
|
357
387
|
// Validate when detents prop changes
|
|
358
388
|
if (prevProps.detents !== this.props.detents) {
|
|
@@ -409,6 +439,7 @@ export class TrueSheet extends PureComponent {
|
|
|
409
439
|
insetAdjustment = 'automatic',
|
|
410
440
|
...rest
|
|
411
441
|
} = this.props;
|
|
442
|
+
delete rest.lazy;
|
|
412
443
|
|
|
413
444
|
// Trim to max 3 detents and clamp fractions
|
|
414
445
|
const resolvedDetents = detents.slice(0, 3).map(detent => {
|
|
@@ -457,6 +488,7 @@ export class TrueSheet extends PureComponent {
|
|
|
457
488
|
maxContentWidth: maxContentWidth,
|
|
458
489
|
anchor: anchor,
|
|
459
490
|
anchorOffset: anchorOffset,
|
|
491
|
+
scrollableHandle: this.state.scrollableHandle ?? -1,
|
|
460
492
|
scrollableOptions: scrollableOptions,
|
|
461
493
|
headerOptions: headerOptions,
|
|
462
494
|
footerOptions: {
|
|
@@ -482,11 +514,12 @@ export class TrueSheet extends PureComponent {
|
|
|
482
514
|
onVisibilityChange: this.onVisibilityChange
|
|
483
515
|
// These must stay on this host view, not on the container. The container is
|
|
484
516
|
// reparented into the native sheet, so this view is never a native ancestor of
|
|
485
|
-
// the sheet content
|
|
486
|
-
//
|
|
487
|
-
//
|
|
517
|
+
// the sheet content — this is the React-tree boundary between the sheet and
|
|
518
|
+
// the presenting screen, where both the responder negotiation and raw touch
|
|
519
|
+
// bubbling must stop.
|
|
488
520
|
,
|
|
489
|
-
onStartShouldSetResponder:
|
|
521
|
+
onStartShouldSetResponder: stopResponderNegotiation,
|
|
522
|
+
onMoveShouldSetResponder: stopResponderNegotiation,
|
|
490
523
|
onTouchStart: stopTouchPropagation,
|
|
491
524
|
onTouchMove: stopTouchPropagation,
|
|
492
525
|
onTouchEnd: stopTouchPropagation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","absorbUnclaimedTouches","stopTouchPropagation","event","stopPropagation","InitialPresentGate","onReady","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","initialPresentReady","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","footerPosition","position","keyboardOffset","onStartShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","create","absoluteFill","zIndex","pointerEvents","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","footerPosition","position","keyboardOffset","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","create","absoluteFill","zIndex","pointerEvents","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,18 +10,16 @@ import { getDOMElement } from "./web/dom.js";
|
|
|
10
10
|
import { Drawer } from "./web/vaul/index.js";
|
|
11
11
|
import { DEFAULT_PEEK_HEIGHT, TRANSITIONS } from "./web/vaul/constants.js";
|
|
12
12
|
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
13
|
+
// Resolves the user's `scrollableRef` to its scrollable DOM element — RN-web
|
|
14
|
+
// ScrollView refs expose the scroll node directly (with helpers attached);
|
|
15
|
+
// list refs (e.g. FlatList) expose it via getScrollableNode(). The node's
|
|
16
|
+
// first child is the content container.
|
|
16
17
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (overflowY === 'auto' || overflowY === 'scroll') return el;
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
18
|
+
const getScrollableElement = scrollable => {
|
|
19
|
+
if (!scrollable) return null;
|
|
20
|
+
if (scrollable instanceof HTMLElement) return scrollable;
|
|
21
|
+
const node = scrollable.getScrollableNode?.();
|
|
22
|
+
return node instanceof HTMLElement ? node : null;
|
|
25
23
|
};
|
|
26
24
|
const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
27
25
|
const {
|
|
@@ -36,6 +34,8 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
36
34
|
maxContentWidth,
|
|
37
35
|
anchor = 'center',
|
|
38
36
|
anchorOffset = DEFAULT_ANCHOR_OFFSET,
|
|
37
|
+
scrollableRef,
|
|
38
|
+
scrollableOptions,
|
|
39
39
|
grabber = true,
|
|
40
40
|
grabberOptions,
|
|
41
41
|
accessibilityOptions,
|
|
@@ -230,9 +230,9 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
230
230
|
// `naturalHeight`.
|
|
231
231
|
const [hasBoundedScrollable, setHasBoundedScrollable] = useState(false);
|
|
232
232
|
const [scrollableAutoHeight, setScrollableAutoHeight] = useState(0);
|
|
233
|
-
const
|
|
233
|
+
const detectedScrollerRef = useRef(null);
|
|
234
234
|
|
|
235
|
-
// Natural content height (header + content + footer, with a
|
|
235
|
+
// Natural content height (header + content + footer, with a detected
|
|
236
236
|
// scrollable's viewport replaced by its content size) — the height the
|
|
237
237
|
// content wants regardless of the sheet's bounds.
|
|
238
238
|
const measureNaturalHeight = useCallback(() => {
|
|
@@ -241,7 +241,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
241
241
|
const headerEl = absoluteHeaderRef.current ? null : getDOMElement(headerElRef.current);
|
|
242
242
|
const footerEl = absoluteFooterRef.current ? null : getDOMElement(footerElRef.current);
|
|
243
243
|
let height = (headerEl?.offsetHeight ?? 0) + (footerEl?.offsetHeight ?? 0) + contentEl.offsetHeight;
|
|
244
|
-
const scroller =
|
|
244
|
+
const scroller = detectedScrollerRef.current;
|
|
245
245
|
const scrollContent = scroller?.firstElementChild;
|
|
246
246
|
if (scroller?.isConnected && scrollContent instanceof HTMLElement) {
|
|
247
247
|
height += scrollContent.offsetHeight - scroller.clientHeight;
|
|
@@ -265,7 +265,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
265
265
|
const measure = () => setScrollableAutoHeight(measureNaturalHeight());
|
|
266
266
|
let observed = null;
|
|
267
267
|
|
|
268
|
-
// (Re)
|
|
268
|
+
// (Re)resolve the plugged scrollable and observe the nodes whose size
|
|
269
269
|
// feeds the natural height — content growth inside a bounded scroller is
|
|
270
270
|
// invisible to the sheet's own layout (mirrors native's contentSize
|
|
271
271
|
// observation). Resolves the content node live: the layout-branch swap
|
|
@@ -275,15 +275,14 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
275
275
|
const headerEl = getDOMElement(headerElRef.current);
|
|
276
276
|
|
|
277
277
|
// Skip mutations that don't change the observed topology — e.g. a
|
|
278
|
-
// virtualized list mounting rows inside the
|
|
279
|
-
//
|
|
280
|
-
// resolves computed styles) on every scroll frame. Size changes are
|
|
281
|
-
// already covered by the ResizeObserver.
|
|
278
|
+
// virtualized list mounting rows inside the plugged scroller. Size
|
|
279
|
+
// changes are already covered by the ResizeObserver.
|
|
282
280
|
if (observed && observed.contentEl === contentEl && contentEl?.isConnected && observed.headerEl === headerEl && observed.scroller.isConnected && observed.scrollContent === observed.scroller.firstElementChild) {
|
|
283
281
|
return;
|
|
284
282
|
}
|
|
285
|
-
const
|
|
286
|
-
|
|
283
|
+
const resolved = contentEl && contentEl.isConnected ? getScrollableElement(scrollableRef?.current) : null;
|
|
284
|
+
const scroller = resolved?.isConnected ? resolved : null;
|
|
285
|
+
detectedScrollerRef.current = scroller;
|
|
287
286
|
setHasBoundedScrollable(scroller != null);
|
|
288
287
|
observed = scroller ? {
|
|
289
288
|
contentEl,
|
|
@@ -318,7 +317,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
318
317
|
mutationObserver?.disconnect();
|
|
319
318
|
resizeObserver?.disconnect();
|
|
320
319
|
};
|
|
321
|
-
}, [isOpen, hasAutoDetent, measureNaturalHeight]);
|
|
320
|
+
}, [isOpen, hasAutoDetent, measureNaturalHeight, scrollableRef]);
|
|
322
321
|
|
|
323
322
|
// Below the last detent a vertical touch pan moves the sheet, not the
|
|
324
323
|
// content — `[data-vaul-scroll-locked]` disables vertical touch panning on
|
|
@@ -962,8 +961,11 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
962
961
|
// Lift content above iOS home indicator / bottom safe area when enabled.
|
|
963
962
|
// A relative footer owns the inset instead (see resolvedFooterStyle); an
|
|
964
963
|
// absolute footer floats over the content, so the content keeps its lift.
|
|
965
|
-
|
|
966
|
-
|
|
964
|
+
// A plugged scrollable keeps the lift too (contentInsetAdjustmentBehavior,
|
|
965
|
+
// default on) — disable it to scroll edge-to-edge behind the indicator
|
|
966
|
+
// with user-applied content padding.
|
|
967
|
+
paddingBottom: insetAdjustment === 'automatic' && !(footerOwnsInset && !absoluteFooter) && (!scrollableRef || (scrollableOptions?.contentInsetAdjustmentBehavior ?? true)) ? 'env(safe-area-inset-bottom, 0px)' : 0
|
|
968
|
+
}), [backgroundColor, effectiveCornerRadius, insetAdjustment, footerOwnsInset, absoluteFooter, scrollableRef, scrollableOptions]);
|
|
967
969
|
const defaultGrabberColor = colorScheme === 'dark' ? DEFAULT_GRABBER_COLOR_DARK : DEFAULT_GRABBER_COLOR_LIGHT;
|
|
968
970
|
const grabberHeight = grabberOptions?.height ?? DEFAULT_GRABBER_HEIGHT;
|
|
969
971
|
|