React Native Scroll Bottom Sheet

screenshot of React Native Scroll Bottom Sheet
react
react-native

Cross platform scrollable bottom sheet with virtualisation support, native animations at 60 FPS and fully implemented in JS land :fire:

Overview:

The Scroll Bottom Sheet is a cross-platform library compatible with iOS, Android, and web platforms. It offers virtualization support and native animations while integrating seamlessly with core scrollable components in React Native. The library is fully compatible with Expo and offers a performant solution that runs smoothly even on low-grade Android devices.

Features:

  • Virtualisation support: Fully integrates with FlatList, ScrollView, and SectionList components.
  • Performant: Runs at 60 FPS, even on low-end Android devices.
  • Horizontal mode: Ideal for implementing Google or Apple Maps bottom sheet types with several embedded horizontal lists.
  • Minimalistic: Exposes fundamental props for easy behavior control, supporting Timing and Spring animations.
  • Support for interruptions: Smoothly interrupt animations without sudden jumps.
  • Imperative snapping: Allows for closing the bottom sheet by pressing an external touchable.
  • Animate all elements: Enables animating other screen elements based on the bottom sheet position.
  • No native dependencies: Implemented entirely in JavaScript using Gesture Handler and Reanimated libraries.
  • Expo compatible: Fully compatible with Expo, no need for ejection.
  • TS definitions: Provides TypeScript definitions for easier project initialization.

Summary:

The Scroll Bottom Sheet library offers a feature-rich solution for implementing a scrollable bottom sheet with virtualization support and fully native animations. It is highly performant, easy to use, and integrates seamlessly with core scrollable components in React Native. Compatible with Expo, it provides a minimalistic approach to controlling behavior and animations, making it a versatile choice for developers.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

react-native
React Native

React Native is a framework for building mobile applications using React and JavaScript. It enables developers to write once and deploy to multiple platforms, including iOS, Android, and the web, while providing a native app-like experience to users.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.