PHPackages                             skylence/filament-context-sidebar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. skylence/filament-context-sidebar

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

skylence/filament-context-sidebar
=================================

Contextual sidebar navigation for Filament resource pages.

v1.3.0(2mo ago)04.0k↓50%1MITPHPPHP ^8.3CI passing

Since Jan 12Pushed 2mo agoCompare

[ Source](https://github.com/skylence-be/filament-context-sidebar)[ Packagist](https://packagist.org/packages/skylence/filament-context-sidebar)[ RSS](/packages/skylence-filament-context-sidebar/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (18)Versions (7)Used By (1)

Filament Context Sidebar
========================

[](#filament-context-sidebar)

[![run-tests](https://github.com/skylence-be/filament-context-sidebar/actions/workflows/run-tests.yml/badge.svg)](https://github.com/skylence-be/filament-context-sidebar/actions/workflows/run-tests.yml)

Contextual sidebar navigation for Filament resource pages. Compatible with Filament 4.

Installation
------------

[](#installation)

```
composer require skylence/filament-context-sidebar
```

Register the plugin in your Panel provider:

```
use Skylence\FilamentContextSidebar\FilamentContextSidebarPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentContextSidebarPlugin::make(),
        ]);
}
```

Optionally publish config and views:

```
php artisan vendor:publish --tag="filament-context-sidebar-config"
php artisan vendor:publish --tag="filament-context-sidebar-views"
```

Usage with Resource Pages
-------------------------

[](#usage-with-resource-pages)

1. Define pages in your resource:

```
use Filament\Resources\Resource;

class UserResource extends Resource
{
    public static function getPages(): array
    {
        return [
            'index' => Pages\ListUsers::route('/'),
            'edit' => Pages\EditUser::route('/{record}/edit'),
            'view' => Pages\ViewUser::route('/{record}/view'),
            'settings' => Pages\UserSettings::route('/{record}/settings'),
        ];
    }
}
```

2. Add the sidebar method to your resource:

```
use Illuminate\Database\Eloquent\Model;
use Skylence\FilamentContextSidebar\ContextSidebar;
use Skylence\FilamentContextSidebar\ContextNavigationItem;

class UserResource extends Resource
{
    public static function sidebar(Model $record): ContextSidebar
    {
        return ContextSidebar::make()
            ->title($record->name)
            ->description($record->email)
            ->navigationItems([
                ContextNavigationItem::make('View')
                    ->icon('heroicon-o-eye')
                    ->url(fn () => static::getUrl('view', ['record' => $record])),
                ContextNavigationItem::make('Edit')
                    ->icon('heroicon-o-pencil')
                    ->url(fn () => static::getUrl('edit', ['record' => $record])),
                ContextNavigationItem::make('Settings')
                    ->icon('heroicon-o-cog-6-tooth')
                    ->url(fn () => static::getUrl('settings', ['record' => $record])),
            ]);
    }
}
```

3. Use the `HasContextSidebar` trait on your pages:

```
use Filament\Resources\Pages\ViewRecord;
use Skylence\FilamentContextSidebar\Concerns\HasContextSidebar;

class ViewUser extends ViewRecord
{
    use HasContextSidebar;

    protected static string $resource = UserResource::class;
}
```

Usage with Pages
----------------

[](#usage-with-pages)

```
use Filament\Pages\Page;
use Skylence\FilamentContextSidebar\Concerns\HasContextSidebar;
use Skylence\FilamentContextSidebar\ContextSidebar;
use Skylence\FilamentContextSidebar\ContextNavigationItem;

class Settings extends Page
{
    use HasContextSidebar;

    public static function sidebar(): ContextSidebar
    {
        return ContextSidebar::make()
            ->title('Settings')
            ->navigationItems([
                ContextNavigationItem::make('General')
                    ->icon('heroicon-o-cog-6-tooth')
                    ->url(GeneralSettings::getUrl()),
                ContextNavigationItem::make('Security')
                    ->icon('heroicon-o-shield-check')
                    ->url(SecuritySettings::getUrl()),
            ]);
    }
}
```

Options
-------

[](#options)

### Layout

[](#layout)

```
ContextSidebar::make()
    ->sidebarNavigation()  // Default - sidebar on the left
    ->topbarNavigation()   // Navigation above content
```

### Navigation Item Options

[](#navigation-item-options)

```
ContextNavigationItem::make('Label')
    ->icon('heroicon-o-home')
    ->url('/path')
    ->badge('New')
    ->badgeColor('success')
    ->group('Group Name')
    ->sort(1)
    ->visible(fn () => auth()->user()->can('view'))
    ->isActiveWhen(fn () => request()->routeIs('*settings*'))
    ->translateLabel()
```

### Title and Description

[](#title-and-description)

```
ContextSidebar::make()
    ->title('User Settings')
    ->description('user@example.com')
    ->descriptionCopyable()
```

Configuration
-------------

[](#configuration)

The config file allows you to set the sidebar width at different breakpoints:

```
// config/filament-context-sidebar.php
return [
    'sidebar_width' => [
        'sm' => 12,  // Full width on small screens
        'md' => 3,
        'lg' => 3,
        'xl' => 3,
        '2xl' => 3,
    ],
];
```

License
-------

[](#license)

MIT

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance88

Actively maintained with recent releases

Popularity24

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 77.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

6

Last Release

60d ago

PHP version history (3 changes)v1.0.0PHP ^8.2

v1.1.0PHP ^8.3

v1.2.0PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/8ad0eeb3e0f0183e243d7edf649313243750f8048918eb00c9c041c5dc379149?d=identicon)[skylence](/maintainers/skylence)

---

Top Contributors

[![jonasvanderhaegen](https://avatars.githubusercontent.com/u/7755555?v=4)](https://github.com/jonasvanderhaegen "jonasvanderhaegen (7 commits)")[![jonasvanderhaegen-xve](https://avatars.githubusercontent.com/u/216873699?v=4)](https://github.com/jonasvanderhaegen-xve "jonasvanderhaegen-xve (2 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/skylence-filament-context-sidebar/health.svg)

```
[![Health](https://phpackages.com/badges/skylence-filament-context-sidebar/health.svg)](https://phpackages.com/packages/skylence-filament-context-sidebar)
```

###  Alternatives

[guava/calendar

Adds support for vkurko/calendar to Filament PHP.

298241.0k3](/packages/guava-calendar)[datlechin/filament-menu-builder

Create and manage menus and menu items

13550.3k2](/packages/datlechin-filament-menu-builder)[marcelweidum/filament-expiration-notice

Customize the livewire expiration notice

9169.0k4](/packages/marcelweidum-filament-expiration-notice)[swisnl/filament-backgrounds

Beautiful backgrounds for Filament auth pages

54149.2k6](/packages/swisnl-filament-backgrounds)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)[codewithdennis/filament-lucide-icons

A Filament plugin that integrates Lucide icons, allowing you to use them seamlessly across Filament forms, tables, actions, and more.

4529.4k2](/packages/codewithdennis-filament-lucide-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
