Toggle Sidebar B
AppearanceLight & dark mode D

Pill Nav

Minimal pill nav with sliding active highlight + smooth easing.

Default

Hover a pill to see the circle rise from its bottom edge. Pick a theme and toggle the initial load animation underneath.

Dark previewReplay previewOpen in new tab

Customize

Example

API Reference

PillNav

PropTypeDefaultDescription
logostring-URL for the logo image.
logoAltstring'Logo'Alt text for the logo image.
itemsPillNavItem[]-Array of navigation items with label, href, and optional ariaLabel. Internal hrefs render as NuxtLink with the href as the `to` prop.
activeHrefstringundefinedThe href of the currently active navigation item. Compared with the item href as written.
easestring'power3.easeOut'GSAP easing function for animations.
baseColorstring'#fff'Base background color for the navigation.
pillColorstring'#120F17'Background color for navigation pills.
hoveredPillTextColorstring'#120F17'Text color when hovering over pills.
pillTextColorstringbaseColorText color for navigation pills.
initialLoadAnimationbooleantrueEnable initial load animation for logo scale and nav items reveal.

Events

PropTypeDefaultDescription
mobile-menu-click() => void-Emitted when the mobile menu button is clicked.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
TabMoves focus through the logo and the links.
EnterFollows the focused link, or toggles the menu on the mobile button.
  • The hover label is aria-hidden and every link keeps an aria-label. On viewports up to 768px wide the pills collapse into a menu button.