awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
szhsin avatar

szhsin/react-menu

0
View on GitHub↗
1,219 stars·59 forks·JavaScript·MIT·27 viewsszhsin.github.io/react-menu↗

React Menu

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 conflicts, while offering flexible configuration options that allow developers to inject custom components, icons, and interactive form elements directly into the menu structure.

Beyond basic navigation, the system supports advanced interaction patterns including programmatic visibility control, server-side rendering for improved initial load performance, and the integration of selection controls like radio buttons and checkboxes. The architecture relies on compound component and render prop patterns to provide a flexible API for managing state and custom event handling across deep navigation hierarchies.

Features

  • Menu Libraries - Provides a library for building accessible, keyboard-navigable dropdown and context menus.
  • Accessible Navigation Menus - Provides accessible dropdown and context menus with full keyboard navigation and screen reader support.
  • Menu Visibility State Machines - Uses centralized state management to orchestrate menu visibility, transitions, and programmatic control over open and closed states.
  • Navigation Component Libraries - Provides tools for creating complex, hierarchical navigation structures and interactive selection menus.
  • Viewport-Aware Position Calculators - Provides real-time collision detection and viewport-aware positioning to ensure menus remain visible within the browser window.
  • Accessible Menu Rendering - Supports rendering arbitrary components and interactive elements within menu items using flexible patterns.
  • Accessible UI Components - Builds accessible dropdown and context menus that support inclusive web interface standards.
  • Compound Components - Implements a compound component pattern to share state and logic across nested menu structures.
  • Embedded Menu Inputs - Allows embedding interactive form controls like checkboxes and radio buttons directly into menu items for complex selection workflows.
  • Render Props - Uses render props to expose internal state, allowing developers to inject custom UI elements into the menu.
  • Floating Element Positioning - Calculates dynamic coordinate offsets for floating menus relative to anchor elements.
  • Keyboard Event Delegation - Orchestrates keyboard events to manage focus movement and navigation across deep menu hierarchies.
  • Navigation Hierarchies - Supports complex, multi-level navigation hierarchies with unlimited submenu nesting.
  • Nested Menus - Supports hierarchical navigation structures with nested submenus to any depth.
  • Portal Rendering - Employs portal-based rendering to mount menu elements outside the main DOM tree, preventing clipping and z-index conflicts.
  • Collision Detection - Utilizes real-time collision detection to adjust menu placement and prevent viewport overflow.

Star history

Star history chart for szhsin/react-menuStar history chart for szhsin/react-menu

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with React Menu

These projects share indexed features with React Menu. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • dip/cmdkdip avatar

    dip/cmdk

    12,695View on GitHub↗

    cmdk is an unstyled, headless React component library for building accessible search-based navigation and command interfaces. It provides the logic and state management required to create keyboard-navigable command palettes that filter lists of actions and items based on user input. The library distinguishes itself by remaining visually agnostic, offering a collection of logic-heavy components without predefined styles. It supports advanced organization through hierarchical menu navigation, nested paging systems, and conditional group filtering that hides categories when no child items match

    TypeScriptcomboboxcommand-menucommand-palette
    View on GitHub↗12,695
  • mui/base-uimui avatar

    mui/base-ui

    8,711View on GitHub↗

    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

    TypeScriptaccessibilitydesign-systemreact
    View on GitHub↗8,711
  • reactjs/react-autocompletereactjs avatar

    reactjs/react-autocomplete

    2,159View on GitHub↗

    This library provides a React component for building accessible combobox and autocomplete inputs. It is designed to display dynamic search suggestions as users type, facilitating data selection from large sets while adhering to established accessibility standards for screen readers and keyboard navigation. The component distinguishes itself through a highly flexible architecture that allows developers to define custom visual layouts for both the input field and the suggestion menu. By utilizing render prop composition and custom rendering interfaces, it enables the injection of unique UI logi

    JavaScript
    View on GitHub↗2,159
  • zendeskgarden/react-componentszendeskgarden avatar

    zendeskgarden/react-components

    1,110View on GitHub↗

    This project is a comprehensive design system framework and component library built for React. It provides a suite of modular, accessible, and themeable interface elements designed to maintain a unified visual language and brand alignment across complex web applications. By encapsulating interaction logic and styling within individual components, it enables developers to build consistent, responsive interfaces through declarative composition. The library distinguishes itself by prioritizing inclusive user experiences through built-in accessibility management, including standardized keyboard n

    TypeScript
    View on GitHub↗1,110
Compare all 30 related projects→

Curated searches featuring React Menu

Hand-picked collections where React Menu appears.
  • Navigation menu components

Frequently asked questions

What does szhsin/react-menu do?

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.

What are the main features of szhsin/react-menu?

The main features of szhsin/react-menu are: Menu Libraries, Accessible Navigation Menus, Menu Visibility State Machines, Navigation Component Libraries, Viewport-Aware Position Calculators, Accessible Menu Rendering, Accessible UI Components, Compound Components.

Which projects share features with szhsin/react-menu?

Projects with overlapping indexed features include: dip/cmdk — cmdk is an unstyled, headless React component library for building accessible search-based navigation and command… mui/base-ui — Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples… reactjs/react-autocomplete — This library provides a React component for building accessible combobox and autocomplete inputs. It is designed to… zendeskgarden/react-components — This project is a comprehensive design system framework and component library built for React. It provides a suite of… shipshapecode/tether — Tether is a DOM positioning engine designed to anchor floating user interface elements, such as tooltips and… reach/reach-ui — Reach UI is an open-source library of accessible, low-level React components designed to serve as a foundation for…