sigilUI

Navigation Menu

A site-wide navigation component with dropdown panels, viewport animations, and responsive collapse. Built on Radix NavigationMenu.

@sigil-ui/componentsReact

Preview

Live preview Interactive

Import

import {
  NavigationMenu, NavigationMenuList, NavigationMenuItem,
  NavigationMenuTrigger, NavigationMenuContent, NavigationMenuLink,
} from "@sigil-ui/components";

Usage

<NavigationMenu>
  <NavigationMenuList>
    <NavigationMenuItem>
      <NavigationMenuTrigger>Products</NavigationMenuTrigger>
      <NavigationMenuContent>
        <Stack gap={8} className="p-4 w-[400px]">
          <NavigationMenuLink href="/components">Components</NavigationMenuLink>
          <NavigationMenuLink href="/presets">Presets</NavigationMenuLink>
        </Stack>
      </NavigationMenuContent>
    </NavigationMenuItem>
    <NavigationMenuItem>
      <NavigationMenuLink href="/docs">Docs</NavigationMenuLink>
    </NavigationMenuItem>
  </NavigationMenuList>
</NavigationMenu>

With feature cards

<NavigationMenuContent>
  <SigilGrid columns={2} gap={12} className="p-4 w-[500px]">
    <SigilGridCell>
      <h4>Components</h4>
      <p className="text-sm text-[var(--s-text-muted)]">40+ styled components</p>
    </SigilGridCell>
    <SigilGridCell>
      <h4>Presets</h4>
      <p className="text-sm text-[var(--s-text-muted)]">31 curated themes</p>
    </SigilGridCell>
  </SigilGrid>
</NavigationMenuContent>

Token integration

CSS VariableUsed for
--s-surfaceContent panel background
--s-surface-elevatedLink hover background
--s-textLink text
--s-text-mutedDescription text
--s-borderPanel border
--s-radius-lgPanel border radius
--s-shadow-lgPanel elevation
--s-duration-normalViewport animation
--s-ease-defaultAnimation easing

Props

PropTypeDefaultDescription
classNamestring—Additional CSS classes
childrenReactNode—Trigger label
PropTypeDefaultDescription
hrefstring—Link destination
activebooleanfalseActive page indicator
classNamestring—Additional CSS classes
childrenReactNode—Link content

Accessibility

  • role="navigation" with aria-label
  • Arrow key navigation between menu items
  • Escape closes open panels and returns focus to trigger