ardavan/filament-file-explorer

Finder-style file explorer for Filament v4 and v5, powered by Spatie Media Library.

Maintainers

Package info

github.com/ardavanshamroshan/filament-file-explorer

pkg:composer/ardavan/filament-file-explorer

Transparency log

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.5.2 2026-08-15 11:30 UTC

This package is auto-updated.

Last update: 2026-08-15 11:31:06 UTC


README

Filament File Explorer — Finder-style files for Filament

Filament File Explorer

Finder-style file manager for Filament v4 & v5
Powered by Spatie Media Library · Livewire · Tailwind

Documentation Packagist Downloads MIT

Documentation · Installation · Explorer · Screenshots · Issues

Navigation

Product Features · Screenshots · Requirements
Start Installation · Quickstart · Commands
Guides Explorer · Files table · Form picker · Authorization · Configuration
Site 🌐 Documentation website · Packagist

Features

  • Finder UI — sidebar tree, breadcrumbs, back / forward, responsive toolbar with overflow
  • Views — icons (grid), list, table, details + Get Info inspector
  • Files — MIME icons (PDF, Office, zip, audio, video), extensions on labels, dark-mode contrast
  • Ops — drag-and-drop upload, clipboard (cut / copy / paste), marquee multi-select, zip download
  • Filament — plugin assets, HasFileExplorer trait, stub generators, files table page, form picker
  • API — generic scopeKey + rootFolderId, FileExplorerAuthorizer contract
  • i18n — en, fa, ar, de, nl, fr, es, pt, tr, ru, zh_CN, ja, it, hi, id

Screenshots

Grid List + Get Info
Grid List
Context menu Files table
Context Table

Requirements

Package Version
PHP 8.2+
Laravel 11 / 12 / 13
Filament 4.x or 5.x
Livewire 3.x (Filament 4) or 4.x (Filament 5)
Spatie Media Library 11.x

Installation

composer require ardavan/filament-file-explorer:"^0.5" -W

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"
php artisan filament-file-explorer:install --migrate
php artisan vendor:publish --tag=filament-file-explorer-assets --force

Register the plugin:

use Ardavan\FilamentFileExplorer\FilamentFileExplorerPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->viteTheme('resources/css/filament/admin/theme.css')
        ->plugin(FilamentFileExplorerPlugin::make());
}

Theme (required)

/* resources/css/filament/admin/theme.css */
@import '../../../../vendor/filament/filament/resources/css/theme.css';

@source '../../../../app/Filament/**/*';
@source '../../../../resources/views/filament/**/*';
@source '../../../../vendor/ardavan/filament-file-explorer/resources/views/**/*.blade.php';
npm run build
php artisan filament:assets

Full walkthrough: Installation guide →

Quickstart

use Ardavan\FilamentFileExplorer\Models\Concerns\HasFileExplorer;

class Project extends Model
{
    use HasFileExplorer;
}
php artisan filament-file-explorer:make-folder-migration projects
php artisan migrate
php artisan filament-file-explorer:make-page ProjectResource
use Ardavan\FilamentFileExplorer\Resources\Concerns\HasFileExplorerResource;

class ProjectResource extends Resource
{
    use HasFileExplorerResource;

    public static function getPages(): array
    {
        return [
            'index' => Pages\ListProjects::route('/'),
            'create' => Pages\CreateProject::route('/create'),
            'edit' => Pages\EditProject::route('/{record}/edit'),
            ...static::getFileExplorerPages(
                Pages\ManageProjectFiles::class,
                Pages\ListProjectFiles::class,
            ),
        ];
    }
}

Embed Livewire (Filament 5 / Livewire 4):

@livewire('filament-file-explorer::file-explorer', [
    'scopeKey' => 'project.'.$record->getKey(),
    'rootFolderId' => $record->folder_id,
], key('fe-'.$record->getKey()))

Or the dotted tag form: <livewire:filament-file-explorer.file-explorer … />.

Commands

Command Purpose
filament-file-explorer:install Publish config (--stubs, --migrate)
filament-file-explorer:make-page {Resource} Explorer + files list pages
filament-file-explorer:make-folder-migration {table} Add folder_id
filament-file-explorer:make-authorizer Authorizer class

Form picker

use Ardavan\FilamentFileExplorer\Forms\Components\FileExplorerPicker;

FileExplorerPicker::make('attachment_ids')
    ->scopeKey($record->fileExplorerScopeKey())
    ->rootFolderId($record->fileExplorerRootFolderId())
    ->multiple();

Documentation website

Designed in the spirit of filamentphp.com — amber CTAs, bone surfaces, screenshot gallery, and guide nav.

ardavanshamroshan.github.io/filament-file-explorer

Markdown mirrors (repo): installation · explorer · files table · picker · auth · config

Translations

en · fa · ar · de · nl · fr · es · pt · tr · ru · zh_CN · ja · it · hi · id

php artisan vendor:publish --tag=filament-file-explorer-translations

Development

composer install
./vendor/bin/pest
./vendor/bin/pint

License

MIT © Ardavan Shamroshan