Join our Discord community
Navbar

Icon Navigation Bar

Compact icon-based navigation bar with theme toggle and language selector. Features tooltips for icon navigation, internationalization support, and user profile management for global applications.

Powered by

Loading component...

Installation

npx shadcn@latest add https://www.shadcn.io/registry/navbar-06.json
npx shadcn@latest add https://www.shadcn.io/registry/navbar-06.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/navbar-06.json
bunx shadcn@latest add https://www.shadcn.io/registry/navbar-06.json

Features

  • Icon-only desktop navigation with tooltip labels for compact, clean design
  • Theme toggle with light/dark mode switching and visual state indicators
  • Language selector with international support and customizable language options
  • Tooltips for accessibility providing context for icon-based navigation elements
  • User profile menu with avatar display and account management options
  • Container-based responsive design with automatic mobile/desktop switching based on actual width
  • TypeScript support with comprehensive interface definitions and callback functions
  • shadcn/ui integration using Tooltip, Select, and DropdownMenu components

Use Cases

This free open source React component works well for:

  • International applications - Multi-language platforms with global user bases
  • Dashboard interfaces - Compact navigation for data-rich applications built with Next.js
  • SaaS platforms - Space-efficient navigation with theme customization using Tailwind CSS
  • Admin panels - Icon-based navigation for professional enterprise applications

API Reference

PropTypeDefaultDescription
logoReact.ReactNode<Logo />Logo component to display in the navbar
logoHrefstring"#"URL for logo click navigation
navigationLinksNavbar06NavItem[]defaultNavigationLinksArray of navigation items with icons and labels
languagesNavbar06Language[]defaultLanguagesArray of available language options
defaultLanguagestring"en"Default selected language code
userNamestring"John Doe"Display name for the user profile
userEmailstring"[email protected]"Email address for the user profile
userAvatarstringundefinedURL for user avatar image
onNavItemClick(href: string) => voidundefinedCallback for navigation item clicks
onLanguageChange(language: string) => voidundefinedCallback for language selection changes
onThemeChange(theme: 'light' | 'dark') => voidundefinedCallback for theme toggle changes
onUserItemClick(item: string) => voidundefinedCallback for user menu item clicks
  • Icon Navigation - Desktop shows only icons with tooltip labels for space efficiency
  • Mobile Expansion - Mobile menu displays both icons and text labels
  • Active States - Visual highlighting for current page with background accent
  • Tooltip Integration - Hover tooltips provide context for icon-only navigation

Internationalization Features

  • Language Selector - Dropdown with globe icon and language abbreviations
  • Customizable Languages - Support for any language codes and display labels
  • Responsive Display - Language labels hidden on small screens, icon-only display
  • Theme Integration - Dark/light mode toggle with sun/moon icons

Implementation Notes

  • Uses ResizeObserver for container-based responsive behavior independent of viewport
  • Supports keyboard navigation and accessibility standards through Radix UI components
  • Mobile menu automatically appears when container width is less than 768px
  • Tooltip provider wraps icon navigation for proper tooltip functionality
  • Theme toggle maintains internal state with callback for external theme management
  • All navigation items are non-functional for demonstration purposes with callback support
  • Compatible with shadcn/ui design system and Tailwind CSS styling framework
  • Language selector supports full internationalization with custom language arrays