mega-menu

Mega Menu

Store navigation whose flyouts span the bar's full width, for link columns and featured tiles; panels slide between categories and the height follows.

States: Default, Focus

Parts

PartFileDoes
MegaMenuMegaMenu.vueGroups all parts of the mega menu.
MegaMenuContentMegaMenuContent.vueHolds the links and content shown when its menu item is open.
MegaMenuItemMegaMenuItem.vueGroups a trigger with the content it opens in the mega menu.
MegaMenuLinkMegaMenuLink.vueLinks to a page from inside the mega menu.
MegaMenuListMegaMenuList.vueLists the top-level items of the mega menu.
MegaMenuTriggerMegaMenuTrigger.vueOpens and closes the content of its mega menu item.
MegaMenuViewportMegaMenuViewport.vueShows the content of the open mega menu item.

Anatomy

<MegaMenu>
  <MegaMenuList>
    <MegaMenuItem>
      <MegaMenuTrigger />
      <MegaMenuContent>
        <MegaMenuLink />
      </MegaMenuContent>
      <MegaMenuLink />
    </MegaMenuItem>
  </MegaMenuList>
  <MegaMenuViewport />
</MegaMenu>

Styling

PartRecipe
MegaMenumega-menu
MegaMenuContentmega-menu-content
MegaMenuItemmega-menu-item
MegaMenuLinkfocus-ring
MegaMenuListmega-menu-list
MegaMenuTriggermega-menu-trigger
MegaMenuViewportmega-menu-viewport

Install

Writes 8 files into components/ui/mega-menu/. For agents, npx @frontic/ui docs mega-menu prints this reference as markdown; the MCP server serves the same.

npm packages
@lucide/vue
@vueuse/core
reka-ui

API reference

MegaMenu MegaMenu.vue

Groups all parts of the mega menu. Renders a <nav>.

PropTypeDefault
modelValuestring—
defaultValuestring—
dirDirection—
orientationOrientation'horizontal'
delayDurationnumber200
skipDelayDurationnumber300
disableClickTriggerbooleanfalse
disableHoverTriggerbooleanfalse
disablePointerLeaveClosebooleanfalse
unmountOnHidebooleantrue
asChildbooleanfalse
asAsTag | Component'nav'
classClassValue—
EventPayload
update:modelValuevalue: string
SlotSlot props
default{ modelValue: string; }
Recipe mega-menuSets
base: mega-menu 1 property

MegaMenuContent MegaMenuContent.vue

MegaMenuItem MegaMenuItem.vue

MegaMenuList MegaMenuList.vue

MegaMenuTrigger MegaMenuTrigger.vue

MegaMenuViewport MegaMenuViewport.vue

Example
State