@lodev09/react-native-true-sheet 3.11.0-beta.0 → 3.11.0-beta.10

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 (43) hide show
  1. package/LICENSE +1 -1
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +3 -3
  3. package/ios/TrueSheetFooterView.mm +10 -1
  4. package/ios/TrueSheetView.mm +1 -1
  5. package/ios/TrueSheetViewController.h +1 -1
  6. package/ios/TrueSheetViewController.mm +10 -4
  7. package/lib/module/TrueSheet.js +2 -2
  8. package/lib/module/TrueSheet.js.map +1 -1
  9. package/lib/module/TrueSheet.web.js +226 -51
  10. package/lib/module/TrueSheet.web.js.map +1 -1
  11. package/lib/module/TrueSheetProvider.web.js +5 -2
  12. package/lib/module/TrueSheetProvider.web.js.map +1 -1
  13. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +1 -1
  14. package/lib/module/web/constants.js +1 -1
  15. package/lib/module/web/constants.js.map +1 -1
  16. package/lib/module/web/vaul/index.js +102 -127
  17. package/lib/module/web/vaul/index.js.map +1 -1
  18. package/lib/module/web/vaul/style.css +1 -1
  19. package/lib/typescript/src/TrueSheet.types.d.ts +6 -4
  20. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  21. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  22. package/lib/typescript/src/TrueSheetProvider.web.d.ts +2 -1
  23. package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -1
  24. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +1 -1
  25. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  26. package/lib/typescript/src/navigation/types.d.ts +1 -1
  27. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  28. package/lib/typescript/src/web/constants.d.ts +1 -1
  29. package/lib/typescript/src/web/constants.d.ts.map +1 -1
  30. package/lib/typescript/src/web/vaul/index.d.ts +8 -2
  31. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
  32. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts +2 -2
  33. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts.map +1 -1
  34. package/package.json +6 -1
  35. package/src/TrueSheet.tsx +2 -2
  36. package/src/TrueSheet.types.ts +6 -4
  37. package/src/TrueSheet.web.tsx +225 -55
  38. package/src/TrueSheetProvider.web.tsx +11 -2
  39. package/src/fabric/TrueSheetViewNativeComponent.ts +1 -1
  40. package/src/navigation/types.ts +1 -1
  41. package/src/web/constants.ts +1 -1
  42. package/src/web/vaul/index.tsx +550 -552
  43. package/src/web/vaul/style.css +1 -1
@@ -7,7 +7,7 @@ import { Drawer } from "./web/vaul/index.js";
7
7
  import { TRANSITIONS } from "./web/vaul/constants.js";
8
8
  import { usePortalContainer, useRegisterSheet, useSheetStack } from "./TrueSheetProvider.web.js";
9
9
  import { COLOR_SURFACE_CONTAINER_LOW_DARK, COLOR_SURFACE_CONTAINER_LOW_LIGHT, DEFAULT_ANCHOR_OFFSET, DEFAULT_CORNER_RADIUS, DEFAULT_DETACHED_OFFSET, DEFAULT_GRABBER_COLOR_DARK, DEFAULT_GRABBER_COLOR_LIGHT, DEFAULT_GRABBER_HEIGHT, DEFAULT_GRABBER_TOP_MARGIN, DEFAULT_GRABBER_WIDTH, DEFAULT_FORM_SHEET_HEIGHT_RATIO, DEFAULT_FORM_SHEET_WIDTH, DEFAULT_MAX_WIDTH } from "./web/constants.js";
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
11
  const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
12
12
  const {
13
13
  children,
@@ -32,8 +32,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
32
32
  footer,
33
33
  footerStyle,
34
34
  scrollable = false,
35
- scrollableOptions,
36
- pageSizing = true,
35
+ presentation = 'page',
37
36
  detached = false,
38
37
  detachedOffset = DEFAULT_DETACHED_OFFSET,
39
38
  elevation = 4,
@@ -67,6 +66,11 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
67
66
  height: windowHeight
68
67
  } = useWindowDimensions();
69
68
  const isLandscapeOrTablet = windowWidth >= 600 || windowWidth > windowHeight;
69
+ const isFormSheet = isLandscapeOrTablet && presentation === 'form';
70
+
71
+ // presentation='form' implies a floating/detached sheet on web — mirrors iOS
72
+ // form-sheet semantics where the sheet is never edge-attached.
73
+ const effectiveDetached = presentation === 'form' || detached;
70
74
  const colorScheme = useColorScheme();
71
75
  const backgroundColor = backgroundColorProp ?? (colorScheme === 'dark' ? COLOR_SURFACE_CONTAINER_LOW_DARK : COLOR_SURFACE_CONTAINER_LOW_LIGHT);
72
76
  const shouldAutoPresent = initialDetentIndex >= 0 && initialDetentIndex < validDetents.length;
@@ -96,6 +100,17 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
96
100
  // in another screen's tree when navigating) should not close the drawer.
97
101
  if (portalContainer && !portalContainer.contains(target)) {
98
102
  e.preventDefault();
103
+ return;
104
+ }
105
+ // The footer is rendered via vaul's `detachedSiblings` as a sibling of
106
+ // Drawer.Content inside [data-vaul-detached-wrapper], so Radix treats
107
+ // clicks on it as "outside" the content. Don't dismiss for clicks that
108
+ // landed inside the wrapper.
109
+ if (target instanceof Element) {
110
+ const wrapper = drawerContentRef.current?.closest('[data-vaul-detached-wrapper]');
111
+ if (wrapper && wrapper.contains(target)) {
112
+ e.preventDefault();
113
+ }
99
114
  }
100
115
  };
101
116
  const dismissAboveRef = useRef(async () => {});
@@ -181,7 +196,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
181
196
  detent: 0
182
197
  };
183
198
  const windowH = window.innerHeight;
184
- const effectiveH = detached ? windowH - detachedOffset : windowH;
199
+ const effectiveH = effectiveDetached ? windowH - detachedOffset : windowH;
185
200
  // Matches vaul's height ceiling: min(effectiveH, maxContentHeight).
186
201
  const ceiling = maxContentHeight !== undefined ? Math.min(effectiveH, maxContentHeight) : effectiveH;
187
202
  const autoWrapper = drawerContentRef.current?.querySelector('[data-vaul-auto-size-wrapper]');
@@ -246,7 +261,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
246
261
  index: count - 1,
247
262
  detent: values[count - 1]
248
263
  };
249
- }, [detached, detachedOffset, maxContentHeight]);
264
+ }, [effectiveDetached, detachedOffset, maxContentHeight]);
250
265
  const handlePositionChange = useCallback(position => {
251
266
  const {
252
267
  index,
@@ -286,10 +301,21 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
286
301
  if (!isOpen && !wasOpen) return undefined;
287
302
  const present = !wasOpen && isOpen;
288
303
  if (present) {
304
+ // Pair willFocus with willPresent on initial present — mirrors native
305
+ // iOS where viewWillAppear dispatches both. The descendant-stack focus
306
+ // effect handles subsequent gained/lost transitions.
289
307
  onWillPresentRef.current?.({
290
308
  nativeEvent: computeDetentInfo()
291
309
  });
310
+ onWillFocusRef.current?.({
311
+ nativeEvent: null
312
+ });
292
313
  } else if (wasOpen && !isOpen) {
314
+ // Pair willBlur with willDismiss on dismiss — mirrors native iOS
315
+ // emitWillDismissEvents (blur fires before dismiss).
316
+ onWillBlurRef.current?.({
317
+ nativeEvent: null
318
+ });
293
319
  onWillDismissRef.current?.({
294
320
  nativeEvent: null
295
321
  });
@@ -301,7 +327,13 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
301
327
  onDidPresentRef.current?.({
302
328
  nativeEvent: computeDetentInfo()
303
329
  });
330
+ onDidFocusRef.current?.({
331
+ nativeEvent: null
332
+ });
304
333
  } else {
334
+ onDidBlurRef.current?.({
335
+ nativeEvent: null
336
+ });
305
337
  onDidDismissRef.current?.({
306
338
  nativeEvent: null
307
339
  });
@@ -392,7 +424,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
392
424
  isNested,
393
425
  dismissAbove,
394
426
  descendants
395
- } = useSheetStack(methodsRef, drawerContentRef, isOpen);
427
+ } = useSheetStack(methodsRef, drawerContentRef, isOpen, isFormSheet);
396
428
  dismissAboveRef.current = dismissAbove;
397
429
 
398
430
  // Mirror Android: translate this sheet down to match the deepest descendant's
@@ -401,24 +433,94 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
401
433
  useEffect(() => {
402
434
  const parent = drawerContentRef.current;
403
435
  if (!parent) return;
436
+ // Skip while dismissing: this sheet's stack pop changes `descendants`,
437
+ // which would re-fire the effect and write `wrapper.style.transition =
438
+ // 'clip-path …'`, clobbering vaul's just-written `'transform …'` for the
439
+ // dismiss animation. Vaul fully owns this sheet's transitions on the way
440
+ // out — nothing to align with anymore.
441
+ if (!isOpen) return;
442
+ const parentWrapper = parent.closest('[data-vaul-detached-wrapper]');
404
443
  const transition = `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`;
444
+ const wrapperTransition = `clip-path ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(',')})`;
445
+ const CLIP_NONE = 'inset(0px round 0px)';
446
+
447
+ // Animate clip-path on the wrapper. Dedupes via DOM read so repeat ticks
448
+ // (mutation observer) skip identical writes. Seeds CLIP_NONE before the
449
+ // first inset() so the browser interpolates between two inset() shapes —
450
+ // `none → inset()` interpolates inconsistently.
451
+ const setClip = next => {
452
+ if (!parentWrapper) return;
453
+ const current = parentWrapper.style.clipPath;
454
+ if (current === next) return;
455
+ if (next === CLIP_NONE && !current) return;
456
+ if (!current) {
457
+ parentWrapper.style.transition = '';
458
+ parentWrapper.style.clipPath = CLIP_NONE;
459
+ // eslint-disable-next-line no-void
460
+ void parentWrapper.offsetHeight;
461
+ }
462
+ parentWrapper.style.transition = wrapperTransition;
463
+ parentWrapper.style.clipPath = next;
464
+ };
405
465
  if (descendants.length === 0) {
406
466
  parent.style.transition = transition;
407
467
  parent.style.transform = '';
468
+ setClip(CLIP_NONE);
408
469
  return;
409
470
  }
471
+
472
+ // Track only the immediate child's snap point. Walking deeper descendants
473
+ // would push this sheet further when a grandchild opens, even when our
474
+ // own child didn't move (e.g., child skipped its cascade for a page
475
+ // grandchild) — leaving a visible gap between this sheet and its child.
410
476
  const computeTargetY = () => {
411
477
  const parentSnap = parseFloat(parent.style.getPropertyValue('--snap-point-height')) || 0;
412
- let targetY = parentSnap;
413
- for (const d of descendants) {
414
- const node = d.nodeRef.current;
415
- if (!node) continue;
416
- const snap = parseFloat(node.style.getPropertyValue('--snap-point-height')) || 0;
417
- if (snap > targetY) targetY = snap;
478
+ const node = descendants[0]?.nodeRef.current;
479
+ if (!node) return parentSnap;
480
+ const childSnap = parseFloat(node.style.getPropertyValue('--snap-point-height')) || 0;
481
+ return Math.max(parentSnap, childSnap);
482
+ };
483
+
484
+ // When a form-sheet parent has a form-sheet descendant, clip the parent to
485
+ // the child card's viewport box so it doesn't peek above/around. Only
486
+ // applies when this sheet is itself form — a page parent should remain
487
+ // visible behind/around a floating form child. Geometry comes from the
488
+ // child's inline styles (not getBoundingClientRect) to read the at-rest
489
+ // box, unskewed by vaul's slide-in.
490
+ const applyFormClip = () => {
491
+ const form = isFormSheet ? descendants.find(d => d.isFormSheetRef.current) : undefined;
492
+ if (!form) {
493
+ setClip(CLIP_NONE);
494
+ return;
418
495
  }
419
- return targetY;
496
+ const childDrawer = form.nodeRef.current;
497
+ const childWrapper = childDrawer?.closest('[data-vaul-detached-wrapper]');
498
+ if (!parentWrapper || !childDrawer || !childWrapper) return;
499
+ const snapY = parseFloat(childDrawer.style.getPropertyValue('--snap-point-height')) || 0;
500
+ const childBottomGap = parseFloat(childWrapper.style.bottom) || 0;
501
+ const childMaxW = parseFloat(childWrapper.style.maxWidth) || window.innerWidth;
502
+ const formLeft = (window.innerWidth - childMaxW) / 2;
503
+ const formRight = (window.innerWidth + childMaxW) / 2;
504
+ const formBottom = window.innerHeight - childBottomGap;
505
+ const rect = parentWrapper.getBoundingClientRect();
506
+ const top = Math.max(0, snapY - rect.top);
507
+ const left = Math.max(0, formLeft - rect.left);
508
+ const right = Math.max(0, rect.right - formRight);
509
+ const bottom = Math.max(0, rect.bottom - formBottom);
510
+ const radius = cornerRadius ?? DEFAULT_CORNER_RADIUS;
511
+ setClip(`inset(${top}px ${right}px ${bottom}px ${left}px round ${radius}px)`);
420
512
  };
421
513
  const apply = () => {
514
+ applyFormClip();
515
+ // Mirror iOS: a page-sheet child fully covers a form-sheet parent, so the
516
+ // cascade push-down has no visible effect — and would briefly peek above
517
+ // the page during the present animation. Leave the parent put.
518
+ const child = descendants[0];
519
+ if (isFormSheet && child && !child.isFormSheetRef.current) {
520
+ parent.style.transition = transition;
521
+ parent.style.transform = '';
522
+ return;
523
+ }
422
524
  const targetY = computeTargetY();
423
525
  const match = parent.style.transform.match(/translate3d\([^,]*,\s*(-?\d*\.?\d+)px/);
424
526
  const currentY = match ? parseFloat(match[1]) : 0;
@@ -439,7 +541,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
439
541
  cancelAnimationFrame(raf);
440
542
  observer.disconnect();
441
543
  };
442
- }, [descendants, activeSnapPoint]);
544
+ }, [descendants, activeSnapPoint, cornerRadius, isFormSheet, isOpen]);
443
545
 
444
546
  // Focus/blur events fire when a descendant sheet appears on top of this one
445
547
  // (blur) or when all descendants are dismissed (focus). will-events fire
@@ -509,7 +611,14 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
509
611
  // Shadow cast upward from the sheet's top edge toward the background. Matches
510
612
  // Android's `elevation` semantics roughly — the sheet "lifts" off whatever is
511
613
  // behind it. Scales linearly so higher elevation reads as more separation.
512
- const boxShadow = elevation > 0 ? `0 ${-elevation}px ${elevation * 3}px rgba(0, 0, 0, 0.15)` : undefined;
614
+ // Applied to the vaul wrapper (not the drawer) as `filter: drop-shadow`: the
615
+ // wrapper clips the drawer (overflow: hidden + contain: paint), which would
616
+ // cut off `box-shadow` on the drawer at the wrapper edges — visible in
617
+ // detached mode (bottom blur clipped in the floating gap) and when the
618
+ // wrapper is narrowed by maxWidth/anchor margins (lateral blur clipped at
619
+ // wrapper edges). drop-shadow on the wrapper follows the post-clip silhouette
620
+ // and isn't clipped by the wrapper itself.
621
+ const dropShadow = elevation > 0 ? `drop-shadow(0 ${-elevation}px ${elevation * 3}px rgba(0, 0, 0, 0.15))` : undefined;
513
622
  const mergedContentStyle = useMemo(() => ({
514
623
  position: 'fixed',
515
624
  top: 0,
@@ -521,10 +630,12 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
521
630
  borderTopLeftRadius: effectiveCornerRadius,
522
631
  borderTopRightRadius: effectiveCornerRadius,
523
632
  backgroundColor: backgroundColor,
524
- boxShadow,
633
+ // Clip children to the rounded top so headers/content with their own
634
+ // background don't bleed past the corners.
635
+ overflow: 'hidden',
525
636
  // Lift content above iOS home indicator / bottom safe area when enabled.
526
637
  paddingBottom: insetAdjustment === 'automatic' ? 'env(safe-area-inset-bottom, 0px)' : 0
527
- }), [backgroundColor, effectiveCornerRadius, boxShadow, insetAdjustment]);
638
+ }), [backgroundColor, effectiveCornerRadius, insetAdjustment]);
528
639
  const defaultGrabberColor = colorScheme === 'dark' ? DEFAULT_GRABBER_COLOR_DARK : DEFAULT_GRABBER_COLOR_LIGHT;
529
640
  const grabberHeight = grabberOptions?.height ?? DEFAULT_GRABBER_HEIGHT;
530
641
 
@@ -541,27 +652,58 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
541
652
  pointerEvents: 'auto'
542
653
  }), []);
543
654
 
544
- // Form-sheet style (iOS pageSizing=false): centered floating card with a
545
- // default width and a height capped to a fraction of the window. We reuse
546
- // the existing detached mechanic so drag/snap math stays correct — the
547
- // wrapper is bottom-attached with a computed offset that centers it
548
- // vertically.
549
- const isFormSheet = isLandscapeOrTablet && maxContentWidth == null && !pageSizing;
550
- const effectiveMaxContentHeight = maxContentHeight ?? (isFormSheet ? windowHeight * DEFAULT_FORM_SHEET_HEIGHT_RATIO : undefined);
551
- const effectiveDetached = isFormSheet || detached;
552
- const effectiveDetachedOffset = isFormSheet ? Math.max(0, (windowHeight - (effectiveMaxContentHeight ?? 0)) / 2) : detachedOffset;
655
+ // Form-sheet style (presentation='form'): centered floating card with a
656
+ // default width and a height fit to content. We reuse the existing detached
657
+ // mechanic so drag/snap math stays correct — the wrapper is bottom-attached
658
+ // with a computed offset that centers it vertically. `presentation` is
659
+ // absolute: when 'form', `maxContentWidth` is ignored and the card uses
660
+ // DEFAULT_FORM_SHEET_WIDTH.
661
+
662
+ // Vaul measures the auto-size wrapper's offsetHeight (always, post fork).
663
+ // Track it here so the form sheet can size its card to fit content,
664
+ // clamped between a minimum ratio of the viewport and a maximum derived
665
+ // from `detachedOffset` (the breathing room left at top + bottom of the
666
+ // floating card).
667
+ const [measuredContentHeight, setMeasuredContentHeight] = useState(0);
668
+ const effectiveMaxContentHeight = useMemo(() => {
669
+ if (maxContentHeight !== undefined) return maxContentHeight;
670
+ if (!isFormSheet) return undefined;
671
+ const min = windowHeight * DEFAULT_FORM_SHEET_HEIGHT_RATIO;
672
+ const max = Math.max(min, windowHeight - 2 * detachedOffset);
673
+ if (measuredContentHeight <= 0) return min;
674
+ return Math.max(min, Math.min(measuredContentHeight, max));
675
+ }, [maxContentHeight, isFormSheet, windowHeight, detachedOffset, measuredContentHeight]);
676
+
677
+ // Center the form sheet using the actual visible drawer height. Vaul
678
+ // auto-sizes to content (capped by `maxContentHeight`), so when content is
679
+ // shorter than `effectiveMaxContentHeight`'s min-clamped floor, using that
680
+ // for the offset would push a small sheet below the viewport center.
681
+ const effectiveDetachedOffset = useMemo(() => {
682
+ if (!isFormSheet) return detachedOffset;
683
+ const max = Math.max(0, windowHeight - 2 * detachedOffset);
684
+ const visibleHeight = measuredContentHeight > 0 ? Math.min(measuredContentHeight, max) : effectiveMaxContentHeight ?? 0;
685
+ return Math.max(0, (windowHeight - visibleHeight) / 2);
686
+ }, [isFormSheet, windowHeight, detachedOffset, measuredContentHeight, effectiveMaxContentHeight]);
553
687
 
554
688
  // The wrapper holds all horizontal sizing/anchoring so its rounded-bottom
555
689
  // clip (when detached) aligns with the drawer's horizontal bounds on
556
690
  // desktop — otherwise its corners sit at the far viewport edges.
557
- // Mirrors iOS setupSheetSizing: maxContentWidth wins (forces pageSizing
558
- // off). pageSizing on constrain to readable width (page-sheet);
559
- // pageSizing off with no maxContentWidth form-sheet width.
691
+ // - presentation='form' DEFAULT_FORM_SHEET_WIDTH on tablet/landscape;
692
+ // `maxContentWidth` is ignored ('form' is absolute).
693
+ // - presentation='page' `maxContentWidth` (any viewport) or
694
+ // DEFAULT_MAX_WIDTH (tablet/landscape readability cap).
560
695
  // Detached without a width constraint applies anchorOffset on both edges so
561
696
  // the floating card breathes from the viewport sides.
562
697
  const wrapperStyle = useMemo(() => {
563
- const maxWidth = isLandscapeOrTablet ? isFormSheet ? DEFAULT_FORM_SHEET_WIDTH : maxContentWidth ?? (pageSizing ? DEFAULT_MAX_WIDTH : undefined) : undefined;
564
- if (maxWidth == null && !detached) return undefined;
698
+ // Mobile portrait ignores width sizing entirely (matches iOS/Android:
699
+ // both apply `maxContentWidth` only when not on a portrait phone).
700
+ // `detached` + `detachedOffset` are still respected via the wrapper.
701
+ const maxWidth = isLandscapeOrTablet ? presentation === 'form' ? DEFAULT_FORM_SHEET_WIDTH : maxContentWidth ?? DEFAULT_MAX_WIDTH : undefined;
702
+ const needsMargins = maxWidth != null || effectiveDetached;
703
+ if (!needsMargins && !dropShadow) return undefined;
704
+ const next = {};
705
+ if (dropShadow) next.filter = dropShadow;
706
+ if (!needsMargins) return next;
565
707
  let marginLeft;
566
708
  let marginRight;
567
709
  if (isFormSheet) {
@@ -574,21 +716,30 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
574
716
  marginLeft = anchor === 'left' ? anchorOffset : 'auto';
575
717
  marginRight = anchor === 'right' ? anchorOffset : 'auto';
576
718
  }
577
- return {
578
- ...(maxWidth != null && {
579
- maxWidth
580
- }),
581
- marginLeft,
582
- marginRight
583
- };
584
- }, [isLandscapeOrTablet, isFormSheet, maxContentWidth, pageSizing, anchor, anchorOffset, detached]);
719
+ if (maxWidth != null) next.maxWidth = maxWidth;
720
+ next.marginLeft = marginLeft;
721
+ next.marginRight = marginRight;
722
+ return next;
723
+ }, [isLandscapeOrTablet, isFormSheet, maxContentWidth, presentation, anchor, anchorOffset, effectiveDetached, dropShadow]);
724
+
725
+ // Absolute-position the grabber so it overlays the content top-edge
726
+ // instead of consuming flow height — mirrors native iOS/Android, where
727
+ // the grabber sits in the rounded corner zone above the content and
728
+ // doesn't push the header down or inflate the 'auto' detent measurement.
585
729
  const handleStyle = useMemo(() => ({
730
+ position: 'absolute',
731
+ top: grabberOptions?.topMargin ?? DEFAULT_GRABBER_TOP_MARGIN,
732
+ left: '50%',
733
+ transform: 'translateX(-50%)',
586
734
  height: grabberHeight,
587
735
  width: grabberOptions?.width ?? DEFAULT_GRABBER_WIDTH,
588
736
  borderRadius: grabberOptions?.cornerRadius ?? grabberHeight / 2,
589
737
  backgroundColor: grabberOptions?.color ?? defaultGrabberColor,
590
738
  opacity: 1,
591
- marginTop: grabberOptions?.topMargin ?? DEFAULT_GRABBER_TOP_MARGIN
739
+ // Above absolute-positioned headers (which often use zIndex:1 to overlay
740
+ // scroll content) so the grabber stays draggable — critical when
741
+ // `handleOnly` mode means only the grabber can drag the sheet.
742
+ zIndex: 2
592
743
  }), [grabberOptions, grabberHeight, defaultGrabberColor]);
593
744
  return /*#__PURE__*/_jsx(Drawer.Root, {
594
745
  open: isOpen,
@@ -598,7 +749,6 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
598
749
  onRelease: handleRelease,
599
750
  dismissible: dismissible,
600
751
  draggable: draggable,
601
- handleOnly: scrollable && scrollableOptions?.scrollingExpandsSheet === false,
602
752
  repositionInputs: false,
603
753
  modal: dimmed,
604
754
  nested: isNested,
@@ -608,6 +758,7 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
608
758
  maxContentHeight: effectiveMaxContentHeight,
609
759
  initialAnimated: initialDetentAnimated,
610
760
  detachedWrapperStyle: wrapperStyle,
761
+ onContentHeightChange: setMeasuredContentHeight,
611
762
  activeSnapPoint: activeSnapPoint,
612
763
  setActiveSnapPoint: handleSetActiveSnapPoint,
613
764
  ...snapPointsProps,
@@ -631,18 +782,33 @@ const TrueSheetComponent = /*#__PURE__*/forwardRef((props, ref) => {
631
782
  children: "Sheet"
632
783
  }), grabber && /*#__PURE__*/_jsx(Drawer.Handle, {
633
784
  style: handleStyle
634
- }), header && /*#__PURE__*/_jsx(View, {
635
- style: headerStyle,
636
- children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
637
- }), scrollable ? /*#__PURE__*/_jsx("div", {
638
- style: scrollableContainerStyle,
639
- children: /*#__PURE__*/_jsx(View, {
785
+ }), scrollable ?
786
+ /*#__PURE__*/
787
+ // vaul wraps children in `[data-vaul-auto-size-wrapper]` (display:
788
+ // flow-root) which doesn't honor descendant flex layout. Use an
789
+ // absolute fill sized to the visible portion (via vaul's
790
+ // `--snap-point-height` var) so the inner flex column has a
791
+ // definite height for the scroll container's flex:1 to fill.
792
+ _jsxs("div", {
793
+ style: scrollableLayoutStyle,
794
+ children: [header && /*#__PURE__*/_jsx(View, {
795
+ style: headerStyle,
796
+ children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
797
+ }), /*#__PURE__*/_jsx("div", {
798
+ style: scrollableContainerStyle,
799
+ children: /*#__PURE__*/_jsx(View, {
800
+ style: style,
801
+ children: children
802
+ })
803
+ })]
804
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
805
+ children: [header && /*#__PURE__*/_jsx(View, {
806
+ style: headerStyle,
807
+ children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
808
+ }), /*#__PURE__*/_jsx(View, {
640
809
  style: style,
641
810
  children: children
642
- })
643
- }) : /*#__PURE__*/_jsx(View, {
644
- style: style,
645
- children: children
811
+ })]
646
812
  })]
647
813
  })]
648
814
  })
@@ -653,6 +819,15 @@ const overlayStyle = {
653
819
  inset: 0,
654
820
  backgroundColor: 'rgba(0, 0, 0, 0.5)'
655
821
  };
822
+ const scrollableLayoutStyle = {
823
+ position: 'absolute',
824
+ top: 0,
825
+ left: 0,
826
+ right: 0,
827
+ height: 'calc(100% - var(--snap-point-height, 0px))',
828
+ display: 'flex',
829
+ flexDirection: 'column'
830
+ };
656
831
  const scrollableContainerStyle = {
657
832
  flex: 1,
658
833
  minHeight: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["createElement","forwardRef","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","useColorScheme","useWindowDimensions","Drawer","TRANSITIONS","usePortalContainer","useRegisterSheet","useSheetStack","COLOR_SURFACE_CONTAINER_LOW_DARK","COLOR_SURFACE_CONTAINER_LOW_LIGHT","DEFAULT_ANCHOR_OFFSET","DEFAULT_CORNER_RADIUS","DEFAULT_DETACHED_OFFSET","DEFAULT_GRABBER_COLOR_DARK","DEFAULT_GRABBER_COLOR_LIGHT","DEFAULT_GRABBER_HEIGHT","DEFAULT_GRABBER_TOP_MARGIN","DEFAULT_GRABBER_WIDTH","DEFAULT_FORM_SHEET_HEIGHT_RATIO","DEFAULT_FORM_SHEET_WIDTH","DEFAULT_MAX_WIDTH","jsx","_jsx","jsxs","_jsxs","TrueSheetComponent","props","ref","children","name","dismissible","draggable","cornerRadius","style","backgroundColor","backgroundColorProp","maxContentHeight","maxContentWidth","anchor","anchorOffset","grabber","grabberOptions","detents","dimmed","dimmedDetentIndex","initialDetentIndex","header","headerStyle","footer","footerStyle","scrollable","scrollableOptions","pageSizing","detached","detachedOffset","elevation","insetAdjustment","initialDetentAnimated","onPositionChange","onWillPresent","onDidPresent","onWillDismiss","onDidDismiss","onDetentChange","onDragBegin","onDragChange","onDragEnd","onMount","onWillFocus","onDidFocus","onWillBlur","onDidBlur","validDetents","filter","d","snapPointsProps","length","snapPoints","fadeFromIndex","Math","min","width","windowWidth","height","windowHeight","isLandscapeOrTablet","colorScheme","shouldAutoPresent","isOpen","setIsOpen","activeSnapPoint","setActiveSnapPoint","current","includes","validDetentsRef","handleSetActiveSnapPoint","snapPoint","handleOpenChange","open","portalContainer","handlePointerDownOutside","e","target","Node","contains","preventDefault","dismissAboveRef","methods","present","index","detent","undefined","Error","dismiss","resize","dismissStack","animated","methodsRef","drawerContentRef","onWillPresentRef","onDidPresentRef","onWillDismissRef","onDidDismissRef","onDetentChangeRef","onDragBeginRef","onDragChangeRef","onDragEndRef","onPositionChangeRef","activeSnapPointRef","computeDetentInfo","snap","indexOf","position","getBoundingClientRect","top","interpolateFromPosition","snaps","count","windowH","window","innerHeight","effectiveH","ceiling","autoWrapper","querySelector","autoHeight","offsetHeight","positions","values","i","h","push","epsilon","firstPos","lastPos","indexRaw","detentRaw","max","indexProgress","detentProgress","clamped","pos","nextPos","range","progress","clampedProgress","handlePositionChange","nativeEvent","realtime","onMountRef","wasOpenRef","wasOpen","fireDone","canceled","rafId","start","drawer","requestAnimationFrame","wrapper","closest","targets","waitForSettle","pending","flatMap","el","getAnimations","a","playState","Promise","allSettled","map","finished","then","cancelAnimationFrame","detentChangeStateRef","prev","isDraggingRef","handleDrag","handleRelease","isNested","dismissAbove","descendants","parent","transition","DURATION","EASE","join","transform","computeTargetY","parentSnap","parseFloat","getPropertyValue","targetY","node","nodeRef","apply","match","currentY","abs","raf","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","onWillBlurRef","onDidBlurRef","onWillFocusRef","onDidFocusRef","prevDescendantCountRef","prevCount","gained","lost","effectiveCornerRadius","boxShadow","mergedContentStyle","left","right","bottom","display","flexDirection","borderTopLeftRadius","borderTopRightRadius","paddingBottom","defaultGrabberColor","grabberHeight","footerFloatStyle","pointerEvents","isFormSheet","effectiveMaxContentHeight","effectiveDetached","effectiveDetachedOffset","wrapperStyle","maxWidth","marginLeft","marginRight","handleStyle","borderRadius","color","opacity","marginTop","topMargin","Root","onOpenChange","onDrag","onRelease","handleOnly","scrollingExpandsSheet","repositionInputs","modal","nested","detachedRadius","initialAnimated","detachedWrapperStyle","Portal","container","Overlay","overlayStyle","Content","onPointerDownOutside","detachedSiblings","Title","visuallyHiddenStyle","Handle","scrollableContainerStyle","inset","flex","minHeight","overflowY","overscrollBehavior","touchAction","padding","margin","overflow","clip","whiteSpace","border","STATIC_METHOD_ERROR","TrueSheet","rejectStatic","dismissAll"],"sourceRoot":"../../src","sources":["TrueSheet.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createElement","forwardRef","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","View","useColorScheme","useWindowDimensions","Drawer","TRANSITIONS","usePortalContainer","useRegisterSheet","useSheetStack","COLOR_SURFACE_CONTAINER_LOW_DARK","COLOR_SURFACE_CONTAINER_LOW_LIGHT","DEFAULT_ANCHOR_OFFSET","DEFAULT_CORNER_RADIUS","DEFAULT_DETACHED_OFFSET","DEFAULT_GRABBER_COLOR_DARK","DEFAULT_GRABBER_COLOR_LIGHT","DEFAULT_GRABBER_HEIGHT","DEFAULT_GRABBER_TOP_MARGIN","DEFAULT_GRABBER_WIDTH","DEFAULT_FORM_SHEET_HEIGHT_RATIO","DEFAULT_FORM_SHEET_WIDTH","DEFAULT_MAX_WIDTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TrueSheetComponent","props","ref","children","name","dismissible","draggable","cornerRadius","style","backgroundColor","backgroundColorProp","maxContentHeight","maxContentWidth","anchor","anchorOffset","grabber","grabberOptions","detents","dimmed","dimmedDetentIndex","initialDetentIndex","header","headerStyle","footer","footerStyle","scrollable","presentation","detached","detachedOffset","elevation","insetAdjustment","initialDetentAnimated","onPositionChange","onWillPresent","onDidPresent","onWillDismiss","onDidDismiss","onDetentChange","onDragBegin","onDragChange","onDragEnd","onMount","onWillFocus","onDidFocus","onWillBlur","onDidBlur","validDetents","filter","d","snapPointsProps","length","snapPoints","fadeFromIndex","Math","min","width","windowWidth","height","windowHeight","isLandscapeOrTablet","isFormSheet","effectiveDetached","colorScheme","shouldAutoPresent","isOpen","setIsOpen","activeSnapPoint","setActiveSnapPoint","current","includes","validDetentsRef","handleSetActiveSnapPoint","snapPoint","handleOpenChange","open","portalContainer","handlePointerDownOutside","e","target","Node","contains","preventDefault","Element","wrapper","drawerContentRef","closest","dismissAboveRef","methods","present","index","detent","undefined","Error","dismiss","resize","dismissStack","animated","methodsRef","onWillPresentRef","onDidPresentRef","onWillDismissRef","onDidDismissRef","onDetentChangeRef","onDragBeginRef","onDragChangeRef","onDragEndRef","onPositionChangeRef","activeSnapPointRef","computeDetentInfo","snap","indexOf","position","getBoundingClientRect","top","interpolateFromPosition","snaps","count","windowH","window","innerHeight","effectiveH","ceiling","autoWrapper","querySelector","autoHeight","offsetHeight","positions","values","i","h","push","epsilon","firstPos","lastPos","indexRaw","detentRaw","max","indexProgress","detentProgress","clamped","pos","nextPos","range","progress","clampedProgress","handlePositionChange","nativeEvent","realtime","onMountRef","wasOpenRef","wasOpen","onWillFocusRef","onWillBlurRef","fireDone","onDidFocusRef","onDidBlurRef","canceled","rafId","start","drawer","requestAnimationFrame","targets","waitForSettle","pending","flatMap","el","getAnimations","a","playState","Promise","allSettled","map","finished","then","cancelAnimationFrame","detentChangeStateRef","prev","isDraggingRef","handleDrag","handleRelease","isNested","dismissAbove","descendants","parent","parentWrapper","transition","DURATION","EASE","join","wrapperTransition","CLIP_NONE","setClip","next","clipPath","transform","computeTargetY","parentSnap","parseFloat","getPropertyValue","node","nodeRef","childSnap","applyFormClip","form","find","isFormSheetRef","childDrawer","childWrapper","snapY","childBottomGap","bottom","childMaxW","maxWidth","innerWidth","formLeft","formRight","formBottom","rect","left","right","radius","apply","child","targetY","match","currentY","abs","raf","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","prevDescendantCountRef","prevCount","gained","lost","effectiveCornerRadius","dropShadow","mergedContentStyle","display","flexDirection","borderTopLeftRadius","borderTopRightRadius","overflow","paddingBottom","defaultGrabberColor","grabberHeight","footerFloatStyle","pointerEvents","measuredContentHeight","setMeasuredContentHeight","effectiveMaxContentHeight","effectiveDetachedOffset","visibleHeight","wrapperStyle","needsMargins","marginLeft","marginRight","handleStyle","topMargin","borderRadius","color","opacity","zIndex","Root","onOpenChange","onDrag","onRelease","repositionInputs","modal","nested","detachedRadius","initialAnimated","detachedWrapperStyle","onContentHeightChange","Portal","container","Overlay","overlayStyle","Content","onPointerDownOutside","detachedSiblings","Title","visuallyHiddenStyle","Handle","scrollableLayoutStyle","scrollableContainerStyle","inset","flex","minHeight","overflowY","overscrollBehavior","touchAction","padding","margin","clip","whiteSpace","border","STATIC_METHOD_ERROR","TrueSheet","rejectStatic","dismissAll"],"sourceRoot":"../../src","sources":["TrueSheet.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -117,11 +117,14 @@ export function useRegisterSheet(name, ref) {
117
117
  * Registers the sheet in the open stack while `isOpen` is true and returns
118
118
  * live data used by each sheet to render stacked visuals and dismiss children.
119
119
  */
120
- export function useSheetStack(ref, nodeRef, isOpen) {
120
+ export function useSheetStack(ref, nodeRef, isOpen, isFormSheet) {
121
121
  const ctx = useContext(SheetContext);
122
+ const isFormSheetRef = useRef(isFormSheet);
123
+ isFormSheetRef.current = isFormSheet;
122
124
  const entry = useMemo(() => ({
123
125
  ref,
124
- nodeRef
126
+ nodeRef,
127
+ isFormSheetRef
125
128
  }), [ref, nodeRef]);
126
129
  useEffect(() => {
127
130
  if (!ctx || !isOpen) return;