⚠️ Breaking changes
-
Dismiss Behavior:
dismiss()now dismisses the sheet and all sheets presented on top of it. Previously, callingdismiss()on a sheet with children would only either dismiss the current sheet if it had no children or only the child sheets presented on top of it, keeping the current sheet open. Now it performs a cascade dismiss of the entire stack.
Use thedismissStack()method if you need the old behavior of dismissing only child sheets. -
Remove Static Methods on Web: Static methods (
TrueSheet.present(),TrueSheet.dismiss(), etc.) are no longer supported on web. Use theuseTrueSheet()hook instead.
🎉 New features
- Added
dismissStack()instance and static method to dismiss only sheets presented on top of the current sheet, keeping the current sheet presented. (#452, #470 by @obi-owner, @lodev09) - Added
scrollableOptionsprop with keyboard scroll handling for ScrollViews. (#442 by @lodev09) - Added bottom inset to ScrollView when
insetAdjustmentisautomatic. (#430 by @lodev09)
🐛 Bug fixes
- iOS: Fixed sheet not auto-dismissing when nested stack is removed. (#472 by @lodev09)
- Fixed
pop,popTo,popToTopnavigation actions not dismissing sheets properly. (#471 by @lodev09) - iOS: Fixed scroll position jumping when nested sheet is dismissed with inverted FlatList. (#468 by @lucasklaassen)
- Android: Fixed present promise not resolving on resize. (c3495500 by @lodev09)
- iOS: Fixed scroll view pinning to respect content view padding/margin. (#429, #446 by @lodev09)
- iOS: Fixed footer not translating back when keyboard hides via ScrollView. (#424 by @lodev09)
- iOS: Fixed
backgroundBlurandbackgroundColornot working together. (#423 by @lodev09) - iOS: Fixed
present()called fromuseEffectnot working due to mount event not firing. (#421 by @lodev09) - iOS: Fixed sheet content becoming empty after rapidly presenting/dismissing. (#419 by @lodev09)
- Auto re-present sheet when returning from screen dismiss (modal or navigation pop). (#412 by @lodev09)
- iOS: Fixed
onWillDismissevent timing during drag dismiss. (#416 by @lodev09)
📖 Documentation
- Added
transformIgnorePatternsto Jest setup guide. (#458 by @lodev09) - Added troubleshooting docs for deep-linking modals. (#2d111c4f by @lodev09)
💡 Others
- Separated
present()andresize()methods; callingpresent()on an already-presented sheet now logs a warning instead of resizing. (#441 by @lodev09) - iOS: Refactored container to use Yoga layout via C++ state for dimensions. (#457 by @lodev09)
- Android: Refactored screen event detection to use EventDispatcherListener instead of FragmentLifecycleCallbacks. (#438 by @lodev09)
- iOS: Refactored screen unmount detection to use C++ EventDispatcher instead of RNSLifecycleListenerProtocol. (#410 by @lodev09)