30 open-source projects similar to wix-incubator/react-native-interactable, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
react-native-interactable is a gesture physics library and interaction framework for React Native. It provides an animated gesture engine and a physics-based UI toolkit designed to create complex touch-based components such as swipeable rows and draggable cards. The project distinguishes itself through the simulation of physical properties, including spring tension, surface friction, and gravitational forces. It allows for the creation of gravity wells that attract or repel views and integrates simulated springs to pull elements toward specific coordinates with adjustable damping. The framew
Motion-vue is a declarative animation library for Vue that provides a framework for building fluid, high-performance user interface motion. It enables developers to define complex animation states and transitions using code-based variants and spring-driven physics, ensuring that visual updates remain synchronized with component lifecycles and application state. The library distinguishes itself through a layout projection engine that tracks element coordinates to animate transitions between layout states, and a gesture-driven input pipeline that maps pointer and scroll interactions to animatio
React Native Reanimated Bottom Sheet is a cross-platform mobile component library that provides a gesture-driven sliding bottom sheet component for iOS and Android applications. The component renders panels anchored to the bottom of the screen, allowing users to drag and snap them to predefined heights. The library supports touch tracking and drag behaviors across custom headers, content areas, and inner scrollable elements. Panel configuration covers height layout rules using pixel values and percentages, custom border radiuses, snap points, initial states, and imperative controller referenc
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
Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves as a coordinate-based UI tool and interaction library for tracking and setting the horizontal and vertical positions of interface elements during user interaction. The library provides a mobile-ready touch handler that converts mouse and touch movements into element translation. It includes specialized capabilities for restricting movement to specific axes or container boundaries and implements grid snapping to align elements to a predefined pixel grid. The tool manages the
This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c
Mobile-first-animation is a mobile web animation library and touch gesture animation toolkit designed to create fluid, gesture-driven animations and spring physics interactions. It provides a spring physics simulation engine that calculates realistic motion dynamics, responding naturally to user velocity and release points. The library features a gesture-driven animation pipeline that binds raw touch input directly to animation drivers, alongside a declarative animation interpolation system that maps continuous touch coordinate ranges to visual style properties. It applies hardware-accelerate
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
Advance is a physics-based animation library and motion simulation toolkit for iOS, tvOS, and macOS. It provides a framework for driving value transitions using non-linear physics functions and a spring physics engine to produce natural, bouncy movements. The library distinguishes itself through a vector-based animation framework that allows custom data types to be animated by converting them into vector representations. It also implements velocity-preserving state handoffs to maintain a consistent rate of change when transitioning between different animation modes. The toolkit covers both t
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. I
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
Pop is an animation library for iOS and macOS designed to manage property animations, value interpolation, and physics engines. It functions as a framework for linking animation engines to arbitrary object properties, extending beyond standard view attributes. The library features a physics-based animation engine that generates motion based on velocity, friction, and target values. This system enables the creation of spring and decay animations to simulate real-world dynamics. The project also provides tools for value interpolation using easing curves, display-link driven updates synced to s
react-flip-toolkit is a coordinate-based transition framework and layout animation library for React. It uses a magic-move technique to calculate element positions, preventing jarring jumps during layout shifts through interpolation and physics. The library provides a spring-based motion engine that uses stiffness and damping settings to create natural movement for layout and style changes. It includes specialized tools for shared element transitions, which coordinate visual movements across client-side route changes to maintain continuity between different pages. The system covers layout tr
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
react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions. The library provides touch-enabled interaction tools that unify pointer events across desktop browsers and touch screen devices. It utilizes CSS transforms to handle element movement and coordinate tracking. The system covers movement constraints such as axis restriction and boundary clamping to confine elements within specific areas. It includes posit
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
SwipeRecyclerView is an Android library that extends the standard RecyclerView with swipeable action menus, drag-and-drop item reordering, and swipe-to-delete gesture detection. It provides a complete set of interactive list behaviors that let users reveal contextual buttons by swiping list items left or right, rearrange items by long-pressing and dragging them to new positions, and remove items with a horizontal swipe gesture that automatically updates the underlying data model. The library distinguishes itself by combining multiple interaction patterns into a single, cohesive component. It
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
This project is a collection of reference implementations and sample applications for Flutter. It provides practical examples covering API integration, user authentication, data persistence, and a gallery of UI patterns. The repository distinguishes itself by offering a wide array of functional demos, including implementations for Google and email-based identity verification, cloud database synchronization, and the use of both relational and key-value local storage. It also includes specialized utility examples such as expense tracking, tip calculation, and body mass index tools. The project
Tippy.js is a JavaScript tooltip library and interactive popup framework used to create tooltips, popovers, and dropdowns. It functions as a floating UI component toolkit that renders content relative to a reference element with support for automatic positioning, flip-positioning, and offsets. The library acts as an accessible overlay manager, using ARIA attributes and focus management to ensure screen reader compatibility. It also serves as a CSS animation tool, providing utilities for transitions, spring physics, and themes to manage the visual entry and exit of floating interface elements.
This project is a suite of visual components and interface models designed to create animated transitions between condensed grid previews and expanded detail views. It provides a card transition library and SwiftUI animated UI components that enable a peek-and-pop interface where small preview cards expand into full-screen content. The system implements an animated grid layout that allows collections of cards to expand and contract to reveal more information. These interactions are supported by animations that transform small content cells into full-screen interfaces to maintain visual contin
DGElasticPullToRefresh is a Swift pull-to-refresh component for iOS that provides a bouncy, elastic animation effect for scrolling lists. It serves as a specialized table view extension that triggers content updates via a downward swipe gesture. The component uses bezier paths and spring physics to render curved visual elements, simulating a flexible stretching effect during user interaction. This physics-based approach governs the movement and bounce of the interface to create a fluid feel. The system manages gesture-driven states and coordinate transformations to shift the view hierarchy.
JazzHands is a UIKit framework providing a scroll-driven animation engine and a paging layout manager. It enables the binding of view properties to timelines of keyframes, allowing visual transitions to be synced with real-time scroll offsets or gesture data. The project distinguishes itself through a value-interpolation engine that calculates intermediate property states. This allows animation progress to be driven by external input values, mapping view attributes to a timeline based on a floating point progress indicator. The framework also includes a system for organizing views within pag
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
cube-ui is a mobile-first Vue.js component library that provides a comprehensive set of pre-built UI elements for building touch-based mobile web applications. The library is built on Vue's single-file component architecture and supports on-demand ES module imports, allowing developers to selectively load only the components they need to optimize bundle size. It also offers plugin-based global registration for convenient setup and includes a CLI scaffolding tool to generate project skeletons with pre-configured build settings. The library distinguishes itself with a gesture-driven interaction
Rebound is a Java motion framework and physics engine designed to create natural physical movement in user interface animations. It functions as a spring physics library that models forces and oscillations to drive fluid interface transitions. The framework implements interactive motion design by simulating real-world spring dynamics and physical forces rather than using linear transitions. This allows for the creation of organic motion within Java applications. The engine handles physics-based animation through spring-based simulations, employing discrete time-step integration and frame-ind
TwinklingRefreshLayout is a pull-to-refresh layout for Android that provides a scrollable container for implementing refresh and load-more functionality. It acts as a view wrapper for components such as RecyclerView, ScrollView, and WebView to ensure consistent refreshing and loading behaviors across different scrollable views. The project distinguishes itself through an overscroll rebound component that creates an elastic bouncing animation when users scroll past layout boundaries. It includes a system for custom refresh indicators, allowing header and footer views to animate their visual st
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 jQuery plugin designed to detect and handle touch gestures on touch-enabled devices. It serves as a touch input handler and mobile gesture interface for identifying interactions such as swipes and pinches within a jQuery environment. The library distinguishes intentional gestures from accidental movements through configurable distance and time thresholds. It includes mechanisms to manage input interference, allowing for the exclusion of specific interactive child elements and the locking of default browser behaviors like scrolling or zooming during an active gesture. The sy
MGSwipeTableCell is an iOS mobile UI library providing a custom UIKit table view cell subclass. It is a swipeable UI component designed to implement swipe-to-action patterns within native Apple mobile applications. The library enables the creation of interactive table cells that reveal hidden buttons through horizontal swipe gestures. It includes expandable swipe action triggers that execute specific events when a gesture exceeds a defined distance threshold. The component covers mobile UI gesture integration and table view customization, utilizing coordinate-based layout mapping and state-b