For contextual menus, the strongest matches are szhsin/react-menu (This React library provides accessible dropdown and context menus), enesozturk/react-native-hold-menu (React Native Hold Menu provides a gesture-driven context menu) and mui/material-ui (Material UI provides fully accessible, customizable menu and popover). mantinedev/mantine and ant-design/ant-design round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source context menu libraries for web developers. Compare top repositories by stars, features, and activity to find the best fit.
React Menu is a library for building accessible, keyboard-navigable dropdown and context menus within web applications. It provides a set of tools for creating complex, hierarchical navigation structures that support unlimited submenu nesting and standard accessibility patterns for screen reader compatibility. The library distinguishes itself through a focus on dynamic layout and positioning, utilizing real-time collision detection to adjust menu placement relative to anchor elements and viewport boundaries. It employs a portal-based rendering strategy to prevent clipping and z-index conflict
This React library provides accessible dropdown and context menus with support for cascading submenus, keyboard navigation, and viewport-aware collision detection, making it well-suited for building rich contextual popups.
React Native Hold Menu is a UI component library and cross-platform mobile framework providing a context menu widget for iOS and Android applications. It displays an interactive popup action menu when users press and hold a specific interface element, enabling quick action workflows within mobile applications. The library utilizes a native gesture-driven architecture to animate menu transitions and scale changes on the native UI thread. It includes dynamic layout calculations to compute menu positioning and prevent screen overflow during device rotation, window resizing, and orientation chang
React Native Hold Menu provides a gesture-driven context menu widget for mobile applications, matching the requested UI component category with native animations and positioning calculations.
Material UI is a comprehensive component-based library designed to accelerate the construction of professional, accessible web interfaces. It provides a centralized design system framework that manages visual tokens, typography, and color palettes to ensure consistent branding and layout constraints across complex application architectures. By encapsulating behavioral and accessibility logic within modular primitives, the library enables developers to build inclusive user experiences that adhere to rigorous design standards. The project distinguishes itself through a zero-runtime styling engi
Material UI provides fully accessible, customizable menu and popover components with rich item content and keyboard navigation, serving as a comprehensive building block for contextual popups within React applications.
Mantine is a comprehensive component library for building accessible and responsive web applications. It provides a foundational set of UI elements and layout primitives, anchored by a base component that supports consistent styling, spacing, and layout properties across the entire interface. The library is built on a design-driven theme engine that uses a provider-based system to propagate global design tokens and color schemes throughout an application. The library distinguishes itself through a robust architecture that emphasizes component composition and reusable interaction logic. It uti
Mantine is a comprehensive React component library that includes robust support for nested menus and contextual popups, making it a strong building block for this UI requirement despite being a broader design system rather than a standalone menu tool.
Ant Design is an enterprise-grade component library and design system framework built for developing complex, data-heavy web applications. It provides a comprehensive collection of pre-built, state-driven interface elements that map data properties to rendered components, ensuring consistent interaction patterns and visual language across large-scale projects. The library distinguishes itself through a robust styling architecture that utilizes design tokens and hierarchical configuration providers to propagate global settings like themes, locale, and layout direction. By employing component-l
Ant Design is a comprehensive UI component library that provides robust dropdown and menu elements supporting positioning, custom content, and event handling, making it a reliable foundation for building contextual popups despite being a general-purpose design system rather than a dedicated menu library.
Cascade is an Android UI component library that provides customizable popup and dropdown menus featuring multi-level submenu navigation. It allows users to drill down through nested menu options using a declarative builder-pattern interface that translates structured data into runtime menu hierarchies. The library overrides standard window bounds via a custom popup container to position multi-level floating menus relative to anchor views. It maintains an in-memory state stack to track navigation depth and parent-child relationships, while layout transition animators drive height and width int
This library provides nested popup menus for Android with smooth height animations, matching the requested context menu UI component category with support for cascading submenus.
The project is a cross-platform mobile user interface library and context menu component for React Native applications. It functions as a mobile menu navigation component that presents hierarchical action lists and nested submenus on touch devices. The library renders platform-native context menus and popup sheets on mobile devices, including custom actions, color themes, subtitles, and nested submenus. It supports configuring custom menu icons by assigning custom vector assets and platform-specific graphic files so menu items display tailored branding, alongside runtime capability detection
This React Native UIMenu component provides native contextual menu capabilities for mobile applications, making it a good fit for building platform-native popup menus even though it has a narrower platform scope than web-based UI libraries.
Simple material-style flyout menus for Android. There are many flyout type menus for Android, but this one is mine.
This Android UI library provides material-style flyout menus that support custom positioning and event handling, though it is scoped specifically to Android rather than being a cross-platform framework.
Floating UI is a JavaScript positioning library and layout engine designed to calculate the exact coordinates for floating interface elements such as tooltips, popovers, and dropdowns. It functions as a floating element orchestrator that ensures these components remain visible and aligned relative to a reference element. The library features a platform-abstraction layer that decouples positioning logic from the document object model. This allows the engine to support both standard web environments and non-DOM targets, including canvas or graphics buffers, through custom coordinate and measure
This is a positioning library rather than a context menu UI component, providing the foundational coordinate-calculation engine you would use to build such menus rather than the menu components themselves.
Shepherd is a client-side onboarding framework and interactive product tour library used to create step-by-step guided walkthroughs. It functions as a UI guided tour system and DOM element highlighting tool that displays instructional overlays and tooltips to guide users through a web application interface. The system features a dynamic layout engine for anchoring tooltips to target elements and preventing screen overflow. It supports multi-element highlighting to draw attention to several UI components simultaneously and includes focus trapping to restrict keyboard navigation to active tour
Shepherd is a guided product tour library rather than a context menu component, making it a neighbouring UI overlay tool rather than the requested menu system.
vimac is a keyboard-driven user interface controller for macOS that translates keyboard sequences and text labels into graphical interface interactions. It functions as an automation layer that maps keyboard inputs to specific UI element interactions, serving as a navigation tool to reduce reliance on a mouse. The utility enables mouse-free interface management by replacing pointer movements with keyboard shortcuts for scrolling and clicking. It specifically allows for triggering clicks, double-clicks, or right-clicks on interface elements through the use of assigned short text labels. The s
This project is a keyboard-driven automation tool for macOS that simulates clicks and shortcuts, which is a different category than a context menu UI component library for building rich popups.
Semantic UI React is a declarative component library that provides native React bindings for the Semantic UI design language. It enables the construction of complex user interfaces through a modular, component-based architecture that maps directly to established design patterns, allowing developers to build consistent web application layouts without manual HTML markup. The library distinguishes itself through a shorthand property system that automatically generates and populates nested child components from data objects, significantly reducing the need for verbose code. It also supports polym
Semantic UI React is a general-purpose component library providing broad UI elements rather than a specialised context menu system, making it a building block rather than the specific component requested.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| szhsin/react-menu | 1.2K | JavaScript | MIT | |
| enesozturk/react-native-hold-menu | 1.5K | TypeScript | MIT | |
| mui/material-ui | 98.5K | JavaScript | MIT | |
| mantinedev/mantine | 31.3K | TypeScript | MIT | |
| ant-design/ant-design | 98.4K | TypeScript | MIT | |
| saket/cascade | 2.1K | Kotlin | Apache-2.0 | |
| react-native-menu/menu | 1.2K | Kotlin | MIT | |
| shamylzakariya/flyoutmenus | 986 | Java | MIT | |
| floating-ui/floating-ui | 32.6K | TypeScript | MIT | |
| shipshapecode/shepherd | 13.7K | JavaScript | NOASSERTION |