alfasix / alfakit-media-library
Spatie Laravel Media Library fields, columns and entries for AlfaKit panels.
Requires
- php: ^8.3
- alfasix/alfakit: ^0.1|@dev
- spatie/laravel-medialibrary: ^11.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
by Alfa Six
This is a read-only split of the AlfaKit monorepo. Please open issues and pull requests there.
Spatie Laravel Media Library fields, columns and entries for AlfaKit panels. They render in React, Vue and Svelte with AlfaKit's built-in components.
Installation
composer require alfasix/alfakit-media-library
Install and migrate spatie/laravel-medialibrary, then add HasMedia / InteractsWithMedia to your model.
Registering the plugin is optional:
use AlfaSix\AlfakitMediaLibrary\MediaLibraryPlugin; $panel->plugin(MediaLibraryPlugin::make());
Usage
use AlfaSix\AlfakitMediaLibrary\Forms\Components\SpatieMediaLibraryFileUpload; use AlfaSix\AlfakitMediaLibrary\Infolists\Components\SpatieMediaLibraryImageEntry; use AlfaSix\AlfakitMediaLibrary\Tables\Columns\SpatieMediaLibraryImageColumn; // Form: new uploads are added to the collection, removed media deleted, the order saved. SpatieMediaLibraryFileUpload::make('gallery') ->collection('gallery') ->multiple() ->reorderable() ->conversion('thumb') ->customProperties(['source' => 'admin']) ->responsiveImages(); // Table SpatieMediaLibraryImageColumn::make('cover')->collection('cover')->conversion('thumb')->circular(); // Infolist SpatieMediaLibraryImageEntry::make('gallery')->collection('gallery')->stacked();
The field also takes conversionsDisk(), manipulations(), properties(), customHeaders(), mediaName() and filterMediaUsing(), plus every FileUpload option. Without disk() it uses the disk of the model's media collection; private disks get signed temporary URLs.
Full documentation: alfakit.dev/docs/plugins/media-library.
License
MIT. See LICENSE.md.