Navigation Menu

A collection of accessible links and menus for navigating a website.
vue
<script setup lang="ts">
import {
  NavigationMenuContent,
  NavigationMenuItem,
  NavigationMenuLink,
  NavigationMenuList,
  NavigationMenuRoot,
  NavigationMenuTrigger,
} from '@typlog/ui'
</script>

<template>
  <NavigationMenuRoot>
    <NavigationMenuList>
      <NavigationMenuItem>
        <NavigationMenuTrigger>Products</NavigationMenuTrigger>
        <NavigationMenuContent>
          <div class="grid w-80 gap-1 p-3">
            <NavigationMenuLink href="#analytics">
              <strong>Analytics</strong><br>
              Measure traffic and understand your audience.
            </NavigationMenuLink>
            <NavigationMenuLink href="#publishing">
              <strong>Publishing</strong><br>
              Draft, review, and publish content together.
            </NavigationMenuLink>
          </div>
        </NavigationMenuContent>
      </NavigationMenuItem>
      <NavigationMenuItem>
        <NavigationMenuLink href="#pricing">Pricing</NavigationMenuLink>
      </NavigationMenuItem>
    </NavigationMenuList>
  </NavigationMenuRoot>
</template>

API Reference ​

Contains the navigation menu parts and renders the shared content viewport.

Groups navigation items and controls their shared size, color, and radius.

PropDefaultType
color
–

Overrides the accent color inherited from the ThemeProvider.

radius
–
"none""small""medium""large""full"

Overrides the radius inherited from the ThemeProvider.

size"2"
"1""2""3"

Control the size of the button.

Contains a trigger and its content, or a standalone navigation link.

Opens the associated navigation content.

PropDefaultType
color
–

Overrides the accent color inherited from the ThemeProvider.

radius
–
"none""small""medium""large""full"

Overrides the radius inherited from the ThemeProvider.

size
–
"1""2""3"

Control the size of the component.

Contains the content displayed in the shared viewport.

Renders an accessible navigation link with the menu's visual settings.

PropDefaultType
color
–

Overrides the accent color inherited from the ThemeProvider.

radius
–
"none""small""medium""large""full"

Overrides the radius inherited from the ThemeProvider.

size"2"
"1""2""3"

Control the size of the component.

Last updated Sep 15, 2026