BottomNavigation
v1.0.6Updated 19 Oct 2026Mobile-first bottom tab bar with fixed or inline placement, badges, and labels-when-active mode. Pair with mobile pages or sticky surfaces.
Preview
Live · 10 stories▸Why this is recommendedbottom-navtabsmobilenavigation+3
BottomNavigation organised into tabs — four.
- ✓Mobile-first surfaces
- ✓Compact app shells
- ✓Companion app navigation
- Fixed bottom or inline placement
- Badge per tab
- Labels-always / labels-when-active modes
- Icon-only mode
- 3-5 tabs supported
- i18n: labels prop overrides the nav aria-label, badge-overflow text and the accessible-label templates ({label}/{count} tokens); merged over DEFAULT_BOTTOM_NAVIGATION_LABELS
- Client-side routing: pass `linkComponent` (next/link, React Router Link) and every row that has an href renders through the host app link component instead of a plain anchor, which would reload the whole document (fb_bf7dc63a)
- ✕Desktop dashboards (use Sidebar)
- ✕Long nav menus (use Sidebar with sections)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
tabsTab list
yesvalueActive tab
—onValueChangeTab change callback
—showLabelsLabel visibility
—fixedFixed bottom positioning
—labelsOverride any built-in UI string (i18n): nav aria-label, badge overflow (99+), and the accessible-label templates {label} (has updates) / {label} ({count} new). Merged over DEFAULT_BOTTOM_NAVIGATION_LABELS
—linkComponentThe host app link component for every tab that has an href. A disabled tab still emits no href and stays a plain anchor. BottomNavItem.onClick receives the click EVENT. Tabs carry data-slot="bottom-navigation-item". MCP feedback fb_bf7dc63a.
—