This is a bottom sheet component library for React Native that provides gesture-driven panels sliding up from the bottom of the screen. The library is built around configurable snap points, dynamic sizing, keyboard awareness, modal presentation, and synchronized scrolling, with native driver animation offloaded to the native thread for smooth performance.
The library distinguishes itself through deep gesture and animation control, including custom gesture handler overrides, scroll-gesture synchronization, and dynamic snap point recalculation when content size or keyboard visibility changes. It supports modal presentation wrappers with stack navigation integration, portal-based overlay rendering outside the parent component tree, and cross-platform compatibility including web mobile rendering without code changes. The dismissal system offers drag-to-dismiss with configurable thresholds and forced close animations, while the animation system supports spring and timing curves with accessibility-aware motion overrides.
The component handles keyboard events automatically, adjusting sheet position to keep input fields visible on both iOS and Android. It integrates with React Navigation for presenting sheets as navigable screens or modals, and supports embedding stack navigators within the sheet for multi-screen flows. Scrollable content integration synchronizes virtualized lists with sheet pan gestures, including over-drag behavior at scroll boundaries and pull-to-refresh on scrollable content inside the sheet. Snap points can be managed dynamically, with programmatic control through exposed methods and animated values, and the sheet can auto-size to content height without requiring fixed snap points. Visual customization covers the sheet background, handle, backdrop, footer, and animated UI elements like tab bars and onboarding sliders.