npm.io
2.0.23 • Published 23h ago

@the-sheet/embedded-stack-navigator

Licence
MIT
Version
2.0.23
Deps
0
Size
65 kB
Vulns
0
Weekly
0
Stars
16

react-native-the-sheet

Reanimated v4 version Reanimated v3 version license

GitBook docs

Overview

React Native bottom sheets are harder than they should be

Most libraries break when you:

  • Open multiple sheets
  • Use dynamic height + scroll views
  • Handle keyboard + gestures together

The Sheet is built to fix these problems from the ground up

The library relies on a few core dependencies:

  • React Native Reanimated
  • React Native Gesture Handler
  • React Native Safe Area Context

Demos



Features

  • True dynamic sizing by default - snap points are opt-in, with full ScrollView support
  • Built-in multi-sheet stacking - explicit, first-class support for sheet hierarchies
  • Full layout control - predictable scroll behavior and no layout surprises
  • Composable primitives - no monolithic API
  • Designed for real-world edge cases - keyboard, gestures, nested scroll, no quirks

NPM packages

Mental model

Before moving on, I highly recommend checking out the mental model of the library, which will make it easier to understand the rationale behind the API and how to use it effectively

Read more

Quick start kit

To get you started quickly, I've created a quick start kit that includes:

  • Installation instructions
  • Sample code snippet

You can always refer to Example Expo App for more complete examples and test cases

Read more

Architecture

Read more about the architecture of the library, how the providers and components are structured, and the concepts behind them

Read more

APIs

For more details on the props, check out the API docs

Read more

Best practices

To get the best experience out of the library, check out the best practices

Read more

Cool examples

Compatibility

Reanimated has really strict rules for versioning, so our library follows the major versions of Reanimated to avoid confusion

Read more

Roadmaps

I don't plan to support Web for a couple of reasons:

  1. Bottom sheets on web are usually not the right UX choice
  2. Web leans towards popups/modals which can be implemented much simpler with CSS and libraries like https://motion.dev

Inspiration

Thank you to all the open source projects that inspired this project:

Contributing

Resources

Keywords