PHPackages                             osamaatef/filament-drilldown-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. osamaatef/filament-drilldown-sidebar

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

osamaatef/filament-drilldown-sidebar
====================================

A Filament plugin that adds optional drill-down navigation to sidebar groups.

v1.4.3(1mo ago)9731↓74.9%2MITPHPPHP ^8.1

Since Apr 13Pushed 1mo agoCompare

[ Source](https://github.com/osamaatef1/filament-drilldown-sidebar)[ Packagist](https://packagist.org/packages/osamaatef/filament-drilldown-sidebar)[ Docs](https://github.com/osamaatef1/filament-drilldown-sidebar)[ RSS](/packages/osamaatef-filament-drilldown-sidebar/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (2)Versions (16)Used By (0)

Filament Drilldown Sidebar
==========================

[](#filament-drilldown-sidebar)

A [Filament](https://filamentphp.com) plugin that turns selected sidebar groups into clickable buttons that slide into a detail view. Supports **inline nested sub-groups**, **auto-discovery from resources/pages**, and an optional **live search**.

Groups not marked for drill-down keep the standard Filament collapsible accordion. Both styles coexist in the same sidebar, rendered in their original registration order.

Requirements
------------

[](#requirements)

- PHP 8.1+
- Filament 3.x, 4.x, or 5.x
- Laravel 10, 11, or 12

Version Compatibility
---------------------

[](#version-compatibility)

Plugin VersionFilamentLaravel1.x3.x, 4.x, 5.x10, 11, 12The plugin automatically detects your Filament version and publishes the correct sidebar view:

- **Filament 3.x**: Blade component override (`components/sidebar/index.blade.php`)
- **Filament 4.x / 5.x**: Livewire view override (`livewire/sidebar.blade.php`)

> **After upgrading Filament to a new major version, re-publish the views:**
>
> ```
> php artisan vendor:publish --tag=drilldown-sidebar-views --force
> ```

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

[](#installation)

```
composer require osamaatef/filament-drilldown-sidebar
```

Publish the sidebar view:

```
php artisan vendor:publish --tag=drilldown-sidebar-views --force
```

> The `--force` flag is required because this plugin overrides Filament's default sidebar view.

Basic Usage
-----------

[](#basic-usage)

Register the plugin in your panel provider and list the group labels that should use drill-down navigation:

```
use OsamaAtef\DrilldownSidebar\DrilldownSidebarPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            DrilldownSidebarPlugin::make()
                ->drilledGroups([
                    'Service Management',
                    'Content Management',
                ]),
        ]);
}
```

Groups listed in `drilledGroups()` render as buttons with chevrons. Clicking one slides into a detail view with that group's items and a back button. All other groups render as the standard Filament collapsible accordion.

Nested Sub-groups
-----------------

[](#nested-sub-groups)

A drilled parent group can contain nested sub-groups. Inside the drill detail, each sub-group renders as a native Filament collapsible `sidebar.group` — so the UI remains consistent with the rest of the panel.

### Option A — Declarative (recommended)

[](#option-a--declarative-recommended)

Declare the parent on each Resource / Page via a static `$navigationParentGroup` property. The plugin reflects over the panel's registered Resources and Pages and builds the hierarchy automatically.

```
// app/Filament/Resources/WorkshopResource.php
class WorkshopResource extends Resource
{
    protected static ?string $navigationGroup = 'Activities';
    protected static ?string $navigationParentGroup = 'Lighthouse';
}

// app/Filament/Resources/SportResource.php
class SportResource extends Resource
{
    protected static ?string $navigationGroup = 'Activities';
    protected static ?string $navigationParentGroup = 'Lighthouse';
}
```

```
// In AdminPanelProvider:
DrilldownSidebarPlugin::make()
    ->drilledGroups(['Lighthouse']);
```

Result: clicking **Lighthouse** opens a detail view containing an **Activities** sub-group with Workshop and Sport items nested inside.

### Option B — Explicit map (overrides auto-discovery)

[](#option-b--explicit-map-overrides-auto-discovery)

```
DrilldownSidebarPlugin::make()
    ->drilledGroups(['Lighthouse'])
    ->subGroups([
        'Lighthouse' => ['Activities', 'Bookings', 'Analytics'],
    ]);
```

When `subGroups()` is set, auto-discovery is skipped and your map wins.

### Virtual parent groups

[](#virtual-parent-groups)

A drilled parent doesn't need direct items — if **all** its content lives in sub-groups (none of its resources register `$navigationGroup` = the parent label directly), the plugin still renders the drill button. Its icon falls back to the first sub-group's icon.

Ordering
--------

[](#ordering)

Sub-groups are sorted by their position in your panel's `->navigationGroups([...])` array — the same list that orders top-level groups. Labels missing from that array fall to the end.

```
->navigationGroups([
    'Lighthouse',
    'Activities',
    'Bookings',
    'Analytics',
    // ...
])
```

In the drill detail, children of `Lighthouse` will appear in this same order. If you want a different order, reorder the labels.

Manual `->subGroups([...])` config is used as-is (no re-sort).

Live Search
-----------

[](#live-search)

Optional inline search input inside the drill detail view. Filters the parent's direct items by label (case-insensitive substring match).

```
DrilldownSidebarPlugin::make()
    ->drilledGroups(['Service Management'])
    ->withSearch();      // enable
    // ->withSearch(false) to explicitly disable
```

Search is off by default.

Auto-drill
----------

[](#auto-drill)

If the current page belongs to a drilled group or any of its sub-groups, the sidebar opens that group's detail view automatically on page load — no extra wiring required.

Collapsed sidebar
-----------------

[](#collapsed-sidebar)

When the sidebar is collapsed to icon-only mode, all groups use Filament's default icon dropdown regardless of drill-down status.

How It Works (summary)
----------------------

[](#how-it-works-summary)

- **Main view**: ungrouped items first, then labeled groups in registration order. Drilled groups show as buttons; standard groups show as collapsible accordions.
- **Detail view**: sliding panel with the group's title, icon, direct items, and any nested sub-groups rendered as native Filament collapsible groups. A back button returns to the main view.
- **Sub-groups are inline**, not a 3rd-level slide — the nav hierarchy stays two levels deep.

Screenshot
----------

[](#screenshot)

[![Sidebar Drilldown](art/cover.jpg)](art/cover.jpg)

Changelog
---------

[](#changelog)

- **1.4.3** — Sort auto-discovered sub-groups by panel `navigationGroups()` order.
- **1.4.2** — Render drill button + detail panel for parents that have only sub-groups (no direct items).
- **1.4.1** — Include panel Pages in sub-group auto-discovery (alongside Resources).
- **1.4.0** — Auto-discover sub-groups from `$navigationParentGroup` on Resources; sub-groups render inline as native Filament groups; redesigned drill detail header; fallback to native Filament rendering for non-drilled parents.
- **1.3.x** — Manual `->subGroups([...])` config, optional `->withSearch()` live search.
- **1.x** — Initial drill-down support.

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) for details.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance90

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

15

Last Release

47d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d8132f4935977a99e324759f55fba4188e5277c581a8d525e11094286ad08039?d=identicon)[osamaatef](/maintainers/osamaatef)

---

Top Contributors

[![osamaatef11](https://avatars.githubusercontent.com/u/223234109?v=4)](https://github.com/osamaatef11 "osamaatef11 (21 commits)")

---

Tags

laravelnavigationfilamentsidebarDrilldown

### Embed Badge

![Health badge](/badges/osamaatef-filament-drilldown-sidebar/health.svg)

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

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

127173.7k3](/packages/dotswan-filament-map-picker)[creagia/filament-code-field

A Filamentphp input field to edit or view code data.

57301.3k3](/packages/creagia-filament-code-field)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17758.9k2](/packages/stephenjude-filament-jetstream)[tapp/filament-google-autocomplete-field

Filament plugin that provides a Google Autocomplete field

30122.2k](/packages/tapp-filament-google-autocomplete-field)[tapp/filament-form-builder

User facing form builder using Filament components

141.9k2](/packages/tapp-filament-form-builder)

PHPackages © 2026

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