@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.
Files changed (47) hide show
  1. package/README.md +21 -2
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +24 -7
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +195 -174
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +5 -1
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +6 -17
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +50 -8
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +101 -18
  8. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +24 -1
  9. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +3 -3
  10. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +14 -24
  11. package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +0 -7
  12. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +0 -8
  13. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +54 -29
  14. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +6 -1
  15. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +1 -1
  16. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +6 -4
  17. package/ios/TrueSheetContainerView.h +9 -7
  18. package/ios/TrueSheetContainerView.mm +6 -7
  19. package/ios/TrueSheetContentView.h +28 -14
  20. package/ios/TrueSheetContentView.mm +122 -179
  21. package/ios/TrueSheetFooterView.mm +17 -0
  22. package/ios/TrueSheetView.mm +13 -10
  23. package/ios/TrueSheetViewController.mm +35 -27
  24. package/ios/utils/UIView+ScrollEdgeInteraction.h +1 -0
  25. package/ios/utils/UIView+ScrollEdgeInteraction.mm +24 -2
  26. package/lib/module/TrueSheet.js +47 -14
  27. package/lib/module/TrueSheet.js.map +1 -1
  28. package/lib/module/TrueSheet.web.js +26 -24
  29. package/lib/module/TrueSheet.web.js.map +1 -1
  30. package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  31. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +4 -0
  32. package/lib/typescript/src/TrueSheet.d.ts +2 -0
  33. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  34. package/lib/typescript/src/TrueSheet.types.d.ts +64 -1
  35. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  36. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  37. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +3 -0
  38. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  39. package/lib/typescript/src/navigation/types.d.ts +1 -1
  40. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/TrueSheet.tsx +48 -13
  43. package/src/TrueSheet.types.ts +68 -1
  44. package/src/TrueSheet.web.tsx +39 -24
  45. package/src/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  46. package/src/fabric/TrueSheetViewNativeComponent.ts +4 -0
  47. package/src/navigation/types.ts +1 -0
@@ -639,24 +639,26 @@ static BOOL TrueSheetIsPhoneIdiom(void) {
639
639
  return;
640
640
  }
641
641
 
642
- if (_pendingContentSizeChange || _pendingDetentsChange) {
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 if (!_isDragging) {
647
- // Drags emit from the pan handler. A child on top moves this sheet two
648
- // ways: an animated collapse/restore step (presenting/dismissing) — emit
649
- // the target non-realtime so JS animates to it — or direct per-frame
650
- // re-layouts while the child drags, which stay realtime.
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
- [self emitChangePositionDelegateWithPosition:self.currentPosition realtime:YES debug:@"drag change"];
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
- // Interactive dismiss phase (finger down) — the pan handler emits.
869
- if (!_isDragging) {
870
- CGFloat position = self.livePosition;
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
- // Hide blur at the end of dismiss to prevent UIVisualEffectView
881
- // from causing a flicker/flash at the bottom edge of the sheet.
882
- if (self.screenHeight - position < 1) {
883
- _blurView.alpha = 0;
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
- [self emitChangePositionDelegateWithPosition:position realtime:YES debug:@"transition"];
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
@@ -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 initialDetentIndex is set (for auto-presentation)
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
- // Clean up native view after dismiss for lazy loading.
242
- // Skip unmount if a present is in progress to avoid race condition.
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. Claiming the responder here stops the negotiation at the
486
- // sheet boundary without making an ancestor of the content the JS responder,
487
- // which would block scrolling inside the sheet.
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: absorbUnclaimedTouches,
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
- // First vertically scrollable descendant — web mirror of native's
14
- // findScrollView (RN-web ScrollView/FlatList render a node with
15
- // `overflow-y: auto`; its first child is the content container).
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 findVerticalScroller = root => {
18
- for (const el of root.querySelectorAll('*')) {
19
- const {
20
- overflowY
21
- } = window.getComputedStyle(el);
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 pinnedScrollerRef = useRef(null);
233
+ const detectedScrollerRef = useRef(null);
234
234
 
235
- // Natural content height (header + content + footer, with a pinned
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 = pinnedScrollerRef.current;
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)pin the first vertical scrollable and observe the nodes whose size
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 pinned scroller, which
279
- // would otherwise trigger a full-subtree rescan (findVerticalScroller
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 scroller = contentEl && contentEl.isConnected ? findVerticalScroller(contentEl) : null;
286
- pinnedScrollerRef.current = scroller;
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
- paddingBottom: insetAdjustment === 'automatic' && !(footerOwnsInset && !absoluteFooter) ? 'env(safe-area-inset-bottom, 0px)' : 0
966
- }), [backgroundColor, effectiveCornerRadius, insetAdjustment, footerOwnsInset, absoluteFooter]);
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