Introducing PrimeReact v11-alpha 🎉Discover Now
styledMenu

NavigationMenu

NavigationMenu coordinates multiple Menu instances horizontally or vertically, providing keyboard navigation between them and a single source of truth for which menu is open.

preview

Usage#

import { NavigationMenu } from '@primereact/ui/navigationmenu';
import { Menu } from '@primereact/ui/menu';
<NavigationMenu>
    <Menu.Root id="file">
        <Menu.Trigger />
        <Menu.Portal>
            <Menu.Positioner>
                <Menu.Popup>
                    <Menu.List>
                        <Menu.Item />
                    </Menu.List>
                </Menu.Popup>
            </Menu.Positioner>
        </Menu.Portal>
    </Menu.Root>
    <Menu.Root id="edit"></Menu.Root>
</NavigationMenu>

Examples#

Basic#

A standard navigationmenu with multiple top-level menus and grouped items.

basic-demo

Icons#

Add icons to Menu.Trigger elements alongside their labels.

icons-demo

Nest a Menu.Submenu inside any menu's list to add cascading submenus that share the same NavigationMenu's keyboard navigation.

submenu-demo

Mega Menu#

Lay out a Menu.Popup as a grid of Menu.Group columns to build a mega menu, with each group introduced by a Menu.Label.

megamenu-demo

A typical application top bar that combines a brand mark, a NavigationMenu for primary sections, and a Menu.Root driven user avatar dropdown.

3
navbar-demo

API#

Sub-Components#

See Primitive API for NavigationMenu component documentation, and Menu for the Menu.* parts used as children.

Hooks#

See Headless API for useNavigationMenu hook documentation.

Accessibility#

See NavigationMenu Primitive for WAI-ARIA compliance details and keyboard support.