🎉 True Sheet 3.0
True Sheet has been completely rebuilt from the ground up for React Native's New Architecture (Fabric). This is the biggest update yet!
Requirements
- React Native >= 0.76 (Expo SDK 52+)
- New Architecture enabled (default in RN 0.76+)
⚡ Highlights
- Powered by Fabric — No bridge, direct C++ communication, blazing fast performance
- Shared C++ Core — State and shadow nodes shared between iOS and Android
- 100% Type-safe — Full TypeScript support with Codegen-generated native interfaces
✨ New Features
- Built with Fabric — Rebuilt to Fabric from the ground up (#211)
- Native Grabber — Native grabber on both iOS and Android (M3 specs on Android) (#234, #226)
- Automatic ScrollView Detection — No more
scrollRef, usescrollableprop (#217, #238) - Native Header & Footer — Fixed headers and footers with proper scroll behavior (#233)
- Sheet Stacking — Stack multiple sheets on both iOS and Android (#237)
- Focus Events —
onWillFocus,onDidFocus,onWillBlur,onDidBlurfor stacked sheets (#242, #245) - iPad Support — First-class iPad support with
pageSizingprop (#219) - Reanimated v4 Integration —
ReanimatedTrueSheet,ReanimatedTrueSheetProvider,useReanimatedTrueSheet - Draggable Control — Disable dragging with
draggable={false}(#249) - Blur Customization (iOS) —
blurIntensityandblurInteractionprops (#250) - Edge-to-Edge (Android) — Automatic edge-to-edge detection with
edgeToEdgeFullScreenprop - Position Change Events — Interpolated
indexanddetentvalues (#244, #258) - react-native-screens Integration — Automatic detection (#213, #235)
- Fabric State Management — Native container layout handling (#220, #230)
💥 Breaking Changes
- Fabric Required — Old Paper architecture is no longer supported
- Prop Renames:
sizes→detentsinitialIndex→initialDetentIndexinitialIndexAnimated→initialDetentAnimatedFooterComponent→footeredgeToEdge→edgeToEdgeFullScreenonPresent→onDidPresentonDismiss→onDidDismissonSizeChange→onDetentChangedimmedIndex→dimmedDetentIndex
- Detent Values — Use fractional values (
0.5) instead of percentage strings ("50%") - Removed Props —
scrollRef,grabberProps,contentContainerStyle
See the Migration Guide for detailed upgrade instructions.