Hero background

Sidebar Navigation

Filament's sidebar navigation system provides unprecedented flexibility for organizing your admin panel's navigation structure. From simple menu items to sophisticated multi-level hierarchies with collapsible groups, badges, and custom styling, Filament's navigation components adapt to any organizational structure while maintaining clean, intuitive user interfaces that scale beautifully across devices.

# Basic menu configuration

Basic menu configuration

Set up fundamental navigation properties for resources and pages using simple class properties. Each navigation item automatically inherits sensible defaults while allowing complete customization of labels, icons, and positioning within your sidebar hierarchy.

class ProductResource extends Resource
{
    protected static ?string $model = Product::class;

    // Custom navigation label
    protected static ?string $navigationLabel = 'Product Catalog';

    // Navigation icon using Heroicon enum
    protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedCube;

    // Position in navigation menu
    protected static ?int $navigationSort = 1;

    // Group products under "Products"
    protected static string|UnitEnum|null $navigationGroup = 'Products';

# Collapsible navigation groups

Collapsible navigation groups

Organize related navigation items into visually distinct sections that can expand and collapse to reduce sidebar clutter. Groups support custom icons, default collapsed states, and intelligent hierarchy management that maintains usability across different screen sizes.

// In your Panel Provider
use Filament\Navigation\NavigationGroup;

public function panel(Panel $panel): Panel
{
    return $panel
        ->navigationGroups([
            NavigationGroup::make()
                ->label('Inventory'),
                
            NavigationGroup::make()
                ->label('Orders'),
                
            NavigationGroup::make()
                ->label('Products')
                ->collapsible(false), // Cannot be collapsed
                
            NavigationGroup::make()
                ->label('Users')
                ->collapsible(true),
        ]);
}

# Collapsible sidebar layouts

Collapsible sidebar layouts

Transform your sidebar to maximize screen real estate with smart collapsible designs that preserve functionality while minimizing visual clutter. Choose between icon-only collapsed states or fully hidden sidebars based on your users' workflow needs.

// In your Panel Provider
public function panel(Panel $panel): Panel
{
    return $panel
        ->sidebarCollapsibleOnDesktop() // Shows icons when collapsed
        ->sidebarWidth('20rem') // Custom expanded width
        ->collapsedSidebarWidth('5rem'); // Custom collapsed width
}

// Or fully collapsible (completely hidden)
public function panel(Panel $panel): Panel
{
    return $panel
        ->sidebarFullyCollapsibleOnDesktop()
        ->collapsibleNavigationGroups(false); // Disable group collapsing
}

# Custom navigation items

Custom navigation items

Add external links, custom pages, and specialized functionality to your navigation structure without creating full Filament resources. Perfect for integrating analytics dashboards, external tools, or custom application features.

// In your Panel Provider
use Filament\Navigation\NavigationItem;

public function panel(Panel $panel): Panel
{
    return $panel
        ->navigationItems([
            NavigationItem::make('Order Analytics')
                ->url('https://analytics.filament-hub.com', shouldOpenInNewTab: true)
                ->icon('heroicon-o-chart-bar')
                ->group('Orders')
                ->sort(10),
            NavigationItem::make('API Docs') 
                ->url(route('api.docs'))
                ->icon('heroicon-o-code-bracket'),
            NavigationItem::make('System Status')
                ->url('/admin/status')
                ->icon('heroicon-o-signal')
                ->badge(fn () => Cache::get('system_alerts_count')),
        ]);
}

# Top Navigation

Top Navigation

Filament's top navigation transforms the traditional horizontal navigation paradigm into a sophisticated, space-efficient interface that maximizes screen real estate while maintaining excellent usability. 

use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->topNavigation();
}