Skip to content

NavRail

Animated navigation rail with tab-like selection.

Props

PropTypeDefaultDescription
itemsNavRailItem[]RequiredNavigation items
valuestring-Controlled active item
defaultValuestring-Initial active item
onChange(id: string) => void-Selection change handler
variant'horizontal' | 'vertical' | 'responsive''horizontal'Layout variant
mobileContent'icons' | 'icons-text''icons-text'Mobile display mode
animation'bounce' | 'none''bounce'Selection animation
size'sm' | 'md' | 'lg''md'Size variant
breakpoint'md' | 'lg' | 'xl' | '2xl''md'Responsive breakpoint
ariaLabelstring-Navigation aria-label
classNamestring-Container class
PropertyTypeRequiredDescription
idstringYesUnique identifier
iconReactNodeYesItem icon
labelstringYesItem label
tostringNoRoute path
badgenumber | ReactNodeNoBadge indicator
disabledbooleanNoDisable item

Example

tsx
<NavRail
  items={[
    { id: 'home', icon: <Home />, label: 'Home', to: '/' },
    { id: 'users', icon: <Users />, label: 'Users', to: '/users' },
  ]}
  ariaLabel="Main navigation"
/>

See also