codebyray/livewire-media-uploader
order_column.list-all ordering scoped to the individual media collection.media-reordered event after persisted media is reordered.multiple controls file selection but does not override Spatie Media Library's singleFile() collection behavior.Spatie\Image\Enums\Fit for compatibility with current Spatie Image releases.authorizeAbility): Pass a Gate/Policy ability name and the component will call Gate::authorize() against the resolved target model before uploadFiles, remove, saveEdit, and the media:attach handler run. Unset by default — fully backward-compatible, opt-in only. See README Authorization section.composer install under Composer's default audit policy — confirmed via CI, not a judgment call. If you're on Laravel 10/11, stay on v0.4.x and prioritize a Laravel upgrade.pestphp/pest and pestphp/pest-plugin-laravel dev constraints to also allow ^4.0, which is what unlocks Laravel 13 test coverage (pest-plugin-laravel didn't support Laravel 13 until its v4.1.0 release).^3.0 || ^4.0 already being the supported range.NameConflictStrategy Enum: Introduced a strongly-typed Enum for handling name conflicts (RENAME, REPLACE, SKIP, ALLOW), replacing raw string checks.ModelResolutionException: Replaced generic abort() calls with a dedicated exception for clearer debugging when model binding fails.model_namespaces configuration array instead of hardcoded App\Models strings, allowing for better support in modular/domain-driven architectures.rules() method, simplifying the uploadFiles() logic and improving maintainability.MassAssignmentException issues in tests when instantiating standard User models.media:attach event. The uploader accepts model="post" (no id) on create screens, holds the queue + per-file meta, and attaches once you dispatch. Emits media-attached when done.list-all view: Set :list-all="true" to show all collections for the current model in a single list, grouped by collection name. Items remain fully editable (caption/description/order).nextOrder() now derives order from the local queue if the model isn’t saved yet.uploadFiles() queues when there’s no target (instead of erroring) and flashes: “Files queued. They will be attached after you save.”resources/views/vendor/media-uploader/themes, e.g. custom/.media-uploader.blade.php from tailwind/ or bootstrap/ into custom/ (keep the filename).'themes' => [
'tailwind' => 'media-uploader::themes.tailwind.media-uploader',
'bootstrap' => 'media-uploader::themes.bootstrap.media-uploader',
'custom' => 'media-uploader::themes.custom.media-uploader',
],
'theme' => 'custom', // to make it default
<livewire:media-uploader :for="$post" collection="images" theme="custom" />
config/media-uploader.php, including ENV overrides, presets (types, mimes, max_kb), and collection → preset mapping.themes/<your-theme>/media-uploader.blade.php.resources/views/vendor/media-uploader/livewire/media-uploader.blade.php
to:
resources/views/vendor/media-uploader/themes/tailwind/media-uploader.blade.php
(or into your custom theme folder), and register that theme in the config.images, avatars, photos).getUrl('thumb')) with graceful fallback.accept attribute.rename, replace, skip, allow.skipExactDuplicates.:for="$model" (saved instance),model="user" :id="1" (short name + id),media-uploaded, media-deleted (with id), media-meta-updated.media-uploader.php) and view (livewire/media-uploader.blade.php).thumb conversion on your model or adjust the view to your conversion names.avatars), declare the collection in your model and call ->singleFile(); the component’s multiple=false only affects the input, not backend replacement.0.3.x, remove in 0.4.0). After 1.0.0, deprecations will be removed in the next major release.How can I help you explore Laravel packages today?