30 open-source projects similar to gorhom/react-native-bottom-sheet, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Native Bottom Sheet alternative.
Vaul is a React drawer component used to create accessible, draggable bottom sheets and slide-up panels. It serves as a mobile-friendly alternative to traditional dialogs and modals by rendering content into a separate DOM node via a portal to avoid layout nesting issues. The library features configurable snap points that allow panels to lock into specific vertical heights during drag gestures. It supports hierarchical UI layering, enabling the use of nested drawers for complex navigation or multi-level menus. The component includes an accessibility layer with ARIA announcements and focus ma
This is an Android bottom sheet component and modal interface designed to provide a dismissible sliding panel that overlays content from the bottom of the screen. It serves as a replacement for standard dialogs and menus, acting as a foreground view that implements Material Design depth, elevation, and shadow patterns. The project functions as a view animation framework that coordinates real-time scaling and translation of background content as the panel slides. It manages the visual transition between expanded, peeked, and dismissed states through a state machine. The component supports hos
Phoenix is a pull-to-refresh UI component and JavaScript gesture library designed for mobile and web views. It provides a reusable interaction pattern that triggers data updates when a user drags the screen downwards. The project features customizable visual indicators and themed animations that react to the state of the pull operation. It includes mechanisms for manual state coordination, allowing external controllers to programmatically trigger or cancel refresh sequences independently of user input. To ensure a smooth user experience, the library integrates with mobile-first views by inte
FloatingPanel is a Swift UI component for iOS that provides an interactive bottom sheet and panel manager. It functions as a modal presentation controller that allows developers to display floating containers for related content and utilities alongside a main screen. The system utilizes a magnetic anchor system to snap panels to predefined vertical positions and supports the management of multiple panels within a single view. It synchronizes the position of the panel with the scrolling behavior of internal views to coordinate movement during user interaction. The project covers capabilities
This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based dismissal, and event tracking. It serves as a cross-platform keyboard event bus, ensuring consistent keyboard show and hide behavior between iOS and Android. The project features an interactive animation driver that links native keyboard frame events directly to animated values to bypass bridge round-trips. It enables interactive keyboard dismissal via swipe gestures and includes a keyboard preloading system to eliminate first-show latency and input lag. The library provides com
React Native Gesture Handler is a declarative library that exposes the platform's native touch and gesture system to React Native, enabling smooth, deterministic gesture handling on the UI thread. It manages gesture recognition through a native state machine with defined transitions between states like BEGAN, ACTIVE, END, and CANCELLED, routing touch events through platform-native gesture recognizers on both iOS and Android. The library provides a comprehensive gesture composition framework that allows developers to combine multiple gestures into race, simultaneous, or exclusive sequences, co
Accompanist is a collection of extension libraries that provide additional functionality and specialized components for the Jetpack Compose UI framework. It serves as a toolkit for implementing common layout and system tasks that extend the core capabilities of declarative UI development on Android. The library provides specialized utilities for managing modal bottom sheet destinations and defining custom animations for screen transitions within a navigation graph. It includes tools for detecting screen folds and display features to create adaptive layouts that adjust based on window size and
This project is a cross-platform UI component for React Native applications that provides a customizable overlay window for presenting content on top of existing application views. It serves as a library for managing animated modal components, backdrops, and mobile transitions. The component distinguishes itself through support for custom enter and exit animations and highly configurable backdrops, allowing for the adjustment of opacity, color, and the integration of custom elements. It also implements gesture-based dismissal, enabling users to close overlays via background taps or swipes in
This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web interfaces. It centers on a component-based architecture that maps application state to rendered elements, utilizing a twelve-point flexbox grid system and nested containers to manage complex layouts. The library ensures consistent behavior across large-scale applications by providing centralized configuration for component defaults, themes, and global design tokens. What distinguishes this framework is its deep integration of Material Design principles alongside a highly flexib
BulletinBoard is a SwiftUI component library and interface framework for iOS. It provides a set of reusable elements designed to render interactive, accessible information cards at the bottom of a screen to guide users through onboarding and configuration tasks. The framework functions as an onboarding UI kit, offering pre-defined card templates and the ability to create custom layout structures. These components are built with integrated accessibility support to ensure that interface updates and interaction states are announced to screen readers and assistive controllers. The library covers
This project is a comprehensive reference for algorithms and data structures used to solve complex computational problems in competitive programming. It serves as a technical resource for implementing advanced mathematical programming, computational geometry, and graph theory. The repository provides detailed implementation guides for diversifying algorithmic techniques, including top-down and bottom-up dynamic programming optimization, number theory, and linear algebra. It features specific guides for complex tasks such as constructing planar graphs, solving linear Diophantine equations, and
This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It functions as a virtualized list component that maintains performance by removing off-screen elements and utilizes a native-driver animation library to map scroll offsets to style properties on the native thread for lag-free transitions. The library provides a parallax image gallery capable of shifting images relative to scroll progress to create a sense of depth. It also features a layout system that supports right-to-left orientations for languages such as Arabic and Hebrew. Capab
Animated is a declarative framework designed for creating high-performance, cross-platform interface movements. It provides a system for defining complex UI transitions through property interpolation, value mapping, and physics-based motion, allowing developers to orchestrate fluid visual effects without manual frame updates. The library distinguishes itself by offloading animation instructions to the native UI thread, ensuring consistent performance across mobile and web environments. It supports sophisticated motion design by linking multiple animation variables together, enabling coordinat
PopupDialog is a Swift UI component library for iOS that provides a custom modal overlay system. It serves as a flexible replacement for the standard system alert controller, allowing for the creation of stylized popups and alerts with custom layouts. The library distinguishes itself through the ability to embed arbitrary view controllers directly into the dialog body. It includes a centralized theme configuration system to maintain consistent visual styles for containers, overlays, and buttons across an entire application. The project covers a broad range of layout and behavioral controls,
Moti is a cross-platform animation framework and state-driven animation engine designed to create consistent visual transitions and motion effects across mobile and web platforms. It functions as a native-thread animation wrapper and library that leverages a shared-value system to synchronize state changes between the logic layer and the native rendering engine. The framework distinguishes itself through its layout transition tools and the ability to execute complex sequences and loops on the native thread to maintain high frame rates. It provides a system for orchestrating smooth entry and e
This repository is a collection of reference implementations and sample projects that demonstrate high-fidelity animations and gesture-driven interface patterns for cross-platform mobile frameworks. It provides a library of demonstration code and interactive components to showcase advanced user interface patterns. The project focuses on mapping complex touch inputs to fluid visual animations and coordinated layout changes. These examples serve as prototypes for developing and testing complex interaction patterns to determine the feasibility of specific design behaviors in React Native. The i
Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples behavioral logic and state management from the visual layer, allowing developers to implement complex UI patterns while maintaining total control over the final styling. The library implements WAI-ARIA design patterns to ensure all primitives support standard keyboard navigation and screen reader accessibility. It provides a suite of low-level building blocks that handle the internal mechanics of interface elements without bundling any CSS. The framework covers a broad range
This is an Android pull-to-refresh library and custom view component designed to implement refresh interactions across any Android view. It functions as a gesture interaction tool that manages pull-down motions and touch conflicts to trigger data loading operations. The library provides tools for creating custom refresh headers and indicator visuals, utilizing a path-based animation engine to produce non-linear visual transitions. It includes mechanisms to define specific trigger thresholds through height ratios and user release events. The project covers gesture management and touch interac
A library to bring fully animated Material Design components to pre-Lolipop Android.
gluestack-ui is a cross-platform React component library built with Tailwind CSS. It provides over 30 pre-built, accessible components that can be installed by copying their source files directly into a project, giving developers full control over customization without external runtime dependencies. Every component implements WAI-ARIA patterns, keyboard navigation, and screen reader support out of the box. A key differentiator is the copy-paste architecture: rather than a traditional package dependency, component source code is placed in the project, allowing direct editing and eliminating ve
MJRefresh is a scroll view interaction library and a set of reusable UI components for implementing pull-to-refresh and infinite scrolling behaviors in mobile user interfaces. It provides customizable refresh indicators and controllers that manage reload callbacks and loading states within scrollable containers. The library allows for the replacement of standard loading indicators with custom images, GIF sequences, and status labels to match specific visual branding. It includes a global configuration store to handle dynamic UI localization and the translation of refresh content across an app
shadcn-svelte is a collection of accessible and customizable user interface elements for Svelte applications. Rather than being distributed as a traditional dependency, these components are provided as source code that is copied directly into the project codebase. The library utilizes a registry-based distribution system, allowing users to install specific UI blocks and components via a command-line interface. This system uses JSON metadata to define dependencies and file paths, while a bootstrapping process automates the configuration of styles and CSS variables. The project integrates Tail
material-dialogs is a Kotlin UI component library that provides a collection of modal dialogs and bottom sheets for Android applications. It is designed to implement user interface elements that follow Material Design standards. The library provides specialized modal interfaces for selecting calendar dates, clock times, and specific color values. It also includes system chooser integrations for selecting files and directories from local storage. Beyond pickers, the library covers a broader range of interaction components including text input dialogs, modal alerts with action buttons, and bot
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Android-PullToRefresh is an Android view component and library designed to implement pull-to-refresh functionality and end-of-list detection for scrollable views within Android applications. It acts as a custom view that manages the animations and listener triggers necessary to update content via user interaction. The library provides mechanisms for triggering refresh actions when a user pulls from the boundaries of a scrollable view and detecting when a user reaches the bottom of a list to facilitate data pagination. It allows for the customization of the refresh indicator's visual theme and
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
NavigationTabBar is a SwiftUI navigation component for iOS applications that provides a bottom menu for switching between primary application sections. It functions as an animated UI element that uses scale and movement effects to provide visual feedback during navigation. The component includes integrated notification badge elements that display pending counts or status updates on individual menu items. It also features a synchronization mechanism that links the active tab state with a swiping content area to ensure the navigation bar remains aligned with the visible page. The system manage
Zag is a headless UI state machine library that provides unstyled component logic to ensure consistent behavior across different rendering engines. It functions as a toolkit for modeling complex user interface interactions using statecharts, decoupling the underlying logic and accessibility attributes from visual styling. The library is framework-agnostic, utilizing specialized adapters to bridge its state machine logic with various JavaScript libraries such as React, Solid, Vue, and Svelte. This approach allows developers to maintain a single interaction model while applying any CSS or styli
CBStoreHouseRefreshControl is a collection of UI elements and tools for creating customizable, coordinate-mapped loading animations and gesture-driven refresh indicators for iOS applications. It provides a pull-to-refresh component that triggers content updates via a pull-down gesture on scrollable views. The library distinguishes itself through configuration-driven visual styling and coordinate-based path definitions, allowing animation trajectories and shapes to be defined in external files rather than through hard-coded values. It incorporates randomized animation offsets to introduce visu
FastDev4Android is an all-in-one development framework for building Android applications. It accelerates app creation by integrating networking, data parsing, dependency injection, image loading, and UI components into a single workflow, bundling these capabilities to speed up mobile app development. The framework provides annotation-driven dependency injection that automatically wires components, views, event handlers, and threading into Android components at compile time. It implements the Model-View-Presenter (MVP) pattern to separate data, UI, and business logic into distinct layers for i