awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
szhsin avatar

szhsin/react-menu

0
View on GitHub↗
1,219 星标·59 分支·JavaScript·MIT·3 次浏览szhsin.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 历史

szhsin/react-menu 的 Star 历史图表szhsin/react-menu 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 React Menu 的精选搜索

收录 React Menu 的精选合集。
  • Navigation menu components

React Menu 的开源替代方案

相似的开源项目,按与 React Menu 的功能重合度排序。
  • dip/cmdkdip 的头像

    dip/cmdk

    12,695在 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
    在 GitHub 上查看↗12,695
  • mui/base-uimui 的头像

    mui/base-ui

    8,711在 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
    在 GitHub 上查看↗8,711
  • reactjs/react-autocompletereactjs 的头像

    reactjs/react-autocomplete

    2,159在 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
    在 GitHub 上查看↗2,159
  • zendeskgarden/react-componentszendeskgarden 的头像

    zendeskgarden/react-components

    1,110在 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
    在 GitHub 上查看↗1,110
查看 React Menu 的所有 30 个替代方案→

常见问题解答

szhsin/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.

szhsin/react-menu 的主要功能有哪些?

szhsin/react-menu 的主要功能包括:Menu Libraries, Accessible Navigation Menus, Menu Visibility State Machines, Navigation Component Libraries, Viewport-Aware Position Calculators, Accessible Menu Rendering, Accessible UI Components, Compound Components。

szhsin/react-menu 有哪些开源替代品?

szhsin/react-menu 的开源替代品包括: dip/cmdk — cmdk is an unstyled, headless React component library for building accessible search-based navigation and command… reactjs/react-autocomplete — This library provides a React component for building accessible combobox and autocomplete inputs. It is designed to… mui/base-ui — Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples… 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…