Ballmac UI home

Floating Nav

A pill-shaped navigation that floats over the page, with an indicator that glides between items on a spring and optional hide-on-scroll.

Design that gets out of the way

Scroll down and the bar slips away; scroll up and it returns. Click an item and the highlight glides to it.

Section One
Section Two
Section Three
Section Four
Section Five

Installation

$ pnpm dlx shadcn@latest add @ballmac/floating-nav

Usage

import { FloatingNav } from "@/components/ballmac/floating-nav"

The full example is in the Code tab above.

Examples

Bottom bar

A bottom bar for mobile-style layouts. Labels collapse to icons on small screens.

API reference

PropTypeDefault
items*

Links in the bar.

FloatingNavItem[]—
value

Controlled active item.

string—
defaultValue

Initial active item when uncontrolled.

string—
onValueChange

Called when an item is chosen.

(value: string) => void—
position

Edge of the screen the bar floats from.

"top" | "bottom""top"
autoHide

Slide away when scrolling down (top) or up (bottom), and return on the opposite scroll. Stays while it holds focus.

booleanfalse
label

Accessible name of the navigation landmark.

string—
scrollContainer

A scrollable element to watch for auto-hide instead of the page.

ScrollContainer—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
TabMoves through the links
Screen readersActive item has aria-current; icon-only items keep their label
Reduced motionThe indicator jumps instead of gliding; hiding uses no transition

Use with AI

items: {value,label,href,icon}. position top or bottom; autoHide slides it away on scroll; value/defaultValue/onValueChange pick the active item. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Floating Nav (@ballmac/floating-nav) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Landing pages and portfolios
  • App-style bottom navigation on small screens

Not for

  • Sites that need nested menus; use navbar with mega-menu
  • Long lists of links

Registry JSON: https://ui.ballmac.com/r/floating-nav.json

Credits

Free to use in personal and commercial projects.