Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The true native bottom sheet experience πŸ’©

License

Notifications You must be signed in to change notification settings

owner/react-native-true-sheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

786 Commits

Repository files navigation

React Native True Sheet

CI NPM Downloads

Note

πŸŽ‰ Version 3.0 is here! Completely rebuilt for Fabric with new features like automatic ScrollView detection, native headers/footers, sheet stacking, and more. Read the announcement

The true native bottom sheet experience for your React Native Apps. πŸ’©

React Native True Sheet - IOS React Native True Sheet - Android React Native True Sheet - Web

Features

  • ⚑ Powered by Fabric - Built on React Native's new architecture for maximum performance
  • πŸš€ Fully Native - Implemented in the native realm, zero JS hacks
  • β™Ώ Accessible - Native accessibility and screen reader support out of the box
  • πŸ”„ Flexible API - Use imperative methods or lifecycle events
  • πŸͺŸ Liquid Glass - iOS 26+ Liquid Glass support out of the box, featured in Expo Blog
  • 🐎 Reanimated - First-class support for react-native-reanimated
  • 🧭 React Navigation - Built-in sheet navigator for seamless navigation integration
  • 🌐 Web Support - Full web support out of the box

Installation

Important

Version 3.0+ requires React Native's New Architecture (Fabric) For the old architecture, use version 2.x. See the Migration Guide for upgrading.

Prerequisites

  • React Native 0.80+
  • New Architecture enabled (default in RN 0.76+)
  • Xcode 26.1+ (liquid glass support)

Compatibility

TrueSheet React Native Expo SDK
3.7+ 0.80+ 54+
3.6 0.79 52-53

Expo

npx expo install @lodev09/react-native-true-sheet

Bare React Native

yarn add @lodev09/react-native-true-sheet
cd ios && pod install

Documentation

Usage

import { TrueSheet } from "@lodev09/react-native-true-sheet"
export const App = () => {
 const sheet = useRef<TrueSheet>(null)
 // Present the sheet βœ…
 const present = async () => {
 await sheet.current?.present()
 console.log('horray! sheet has been presented πŸ’©')
 }
 // Dismiss the sheet βœ…
 const dismiss = async () => {
 await sheet.current?.dismiss()
 console.log('Bye bye πŸ‘‹')
 }
 return (
 <View>
 <Button onPress={present} title="Present" />
 <TrueSheet
 ref={sheet}
 detents={['auto', 1]}
 >
 <Button onPress={dismiss} title="Dismiss" />
 </TrueSheet>
 </View>
 )
}

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with ❀️ by @lodev09

About

The true native bottom sheet experience πŸ’©

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 37.4%
  • Kotlin 31.2%
  • Objective-C++ 21.3%
  • Objective-C 5.4%
  • JavaScript 1.5%
  • C++ 1.4%
  • Other 1.8%

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /