PHPackages                             artisanpack-ui/media-library - 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. [Image &amp; Media](/categories/media)
4. /
5. artisanpack-ui/media-library

ActiveLibrary[Image &amp; Media](/categories/media)

artisanpack-ui/media-library
============================

Media library package for ArtisanPack UI

1.1.0(3mo ago)06[20 issues](https://github.com/ArtisanPack-UI/media-library/issues)GPL-3.0-or-laterPHPPHP ^8.2CI passing

Since Nov 3Pushed 1mo agoCompare

[ Source](https://github.com/ArtisanPack-UI/media-library)[ Packagist](https://packagist.org/packages/artisanpack-ui/media-library)[ RSS](/packages/artisanpack-ui-media-library/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (20)Versions (10)Used By (0)

ArtisanPack UI Media Library
============================

[](#artisanpack-ui-media-library)

![Tests](https://camo.githubusercontent.com/d940ad7f0752e2cbe0d63c50dcebf329078807390051c41fe63258f1b5c4e182/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74657374732d70617373696e672d627269676874677265656e)![PHP Version](https://camo.githubusercontent.com/4f0ff8d47b7c73441eb92a1f49af61c2d6521b14113c8fd85fac4416c863e7cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d626c7565)![Laravel Version](https://camo.githubusercontent.com/d3387d8f30a569d4ac3113bc7443ca388561ef21f676788e67ab3612460a4a60/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d25334525334431322e302d726564)

A comprehensive media management package for Laravel applications with support for image processing, folder organization, tagging, and modern image format conversion (WebP/AVIF).

Features
--------

[](#features)

### Core Features

[](#core-features)

- 📁 **Hierarchical Folder Organization** - Organize media into nested folders
- 🏷️ **Tag Management** - Tag media items for easy categorization
- 🖼️ **Image Processing** - Automatic thumbnail generation in multiple sizes
- 🚀 **Modern Image Formats** - Automatic conversion to WebP and AVIF
- 📦 **Storage Abstraction** - Support for multiple storage backends via Laravel's filesystem
- 🎬 **Video Support** - Video thumbnail extraction using FFmpeg (optional)
- 🔍 **Advanced Search &amp; Filtering** - Search by name, filter by type, folder, or tag
- 🎯 **Drag &amp; Drop Upload** - Modern upload interface with progress tracking
- 🖱️ **Media Modal Component** - Single/multi-select modal for choosing media with context support
- 🔐 **Permission-based Access Control** - Granular capability-based permissions
- 🎨 **Publishable Views** - Customize all Blade views to match your design
- 🧪 **Comprehensive Test Coverage** - Over 500 tests with 90%+ coverage

### New in v1.1

[](#new-in-v11)

- ⚡ **Livewire 4 Streaming Uploads** - Real-time upload progress with `wire:stream` (automatic fallback for Livewire 3)
- 📊 **Media Statistics Dashboard** - KPI cards with sparklines showing upload trends, storage usage, and type distribution
- 📤 **Table Export** - Export media library data to CSV, XLSX, or PDF formats
- 🪟 **Glass Effects** - Modern glassmorphism UI with customizable blur and transparency
- 🧩 **Visual Editor Integration** - MediaPicker component for CMS visual editors with block content helpers
- ⌨️ **Keyboard Navigation** - Full keyboard support for media selection (arrow keys, Enter, Escape)
- 🕐 **Recently Used Media** - Quick access to recently selected media items
- ⚙️ **Feature Flags** - Granular control over features via configuration

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

[](#requirements)

- PHP 8.2 or higher
- Laravel 12.0 or higher
- Intervention Image 3.0 for image processing
- FFmpeg (optional, for video thumbnail extraction)

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

[](#installation)

Install via Composer:

```
composer require artisanpack-ui/media-library
```

Quick Start
-----------

[](#quick-start)

```
// Upload media
$media = apUploadMedia($file, [
    'title' => 'My Image',
    'alt_text' => 'Alt text for accessibility',
    'folder_id' => 1,
]);

// Get media URL
$url = apGetMediaUrl($mediaId, 'thumbnail');

// Display image
$media = apGetMedia($mediaId);
echo $media->displayImage('large', ['class' => 'img-fluid']);
```

What's New in v1.1
------------------

[](#whats-new-in-v11)

### Livewire 4 Streaming Uploads

[](#livewire-4-streaming-uploads)

Real-time upload progress with automatic Livewire 3 fallback:

```

```

### Visual Editor Integration

[](#visual-editor-integration)

Embed the MediaPicker in your CMS visual editor:

```

```

### Media Statistics Dashboard

[](#media-statistics-dashboard)

Display KPI cards with sparklines:

```

```

### Table Export

[](#table-export)

Export your media library to various formats:

```

```

Documentation
-------------

[](#documentation)

📚 **[Complete Documentation](docs/home.md)**

### Getting Started

[](#getting-started)

- **[Quick Start](docs/getting-started.md)** - Get up and running quickly
- **[Installation](docs/installation/installation.md)** - Detailed installation instructions
- **[Configuration](docs/installation/configuration.md)** - All configuration options
- **[Upgrading to v1.1](docs/upgrading.md)** - Migration guide from v1.0.x

### Usage

[](#usage)

- **[Helper Functions](docs/usage/helper-functions.md)** - Common usage patterns
- **[Working with Models](docs/usage/models.md)** - Advanced model usage
- **[Livewire Components](docs/usage/livewire-components.md)** - UI component guide
- **[Streaming Uploads](docs/usage/streaming-uploads.md)** - Livewire 4 real-time upload progress
- **[Table Export](docs/usage/table-export.md)** - Export media data to CSV/XLSX/PDF

### Visual Editor Integration

[](#visual-editor-integration-1)

- **[MediaPicker Component](docs/visual-editor/media-picker.md)** - Visual editor media selection
- **[Block Content Helpers](docs/visual-editor/block-helpers.md)** - Block content integration
- **[Integration Examples](docs/visual-editor/examples.md)** - Complete integration examples

### Dashboard &amp; Statistics

[](#dashboard--statistics)

- **[Media Statistics](docs/dashboard/statistics.md)** - KPI cards and sparklines
- **[Glass Effects](docs/dashboard/glass-effects.md)** - Glassmorphism UI customization

### API &amp; Integration

[](#api--integration)

- **[API Reference](docs/api/endpoints.md)** - Complete API documentation
- **[CMS Integration](docs/integration/cms-module.md)** - Digital Shopfront CMS setup
- **[Permissions](docs/integration/permissions.md)** - Access control guide
- **[Customization](docs/integration/customization.md)** - Customization options

### Reference

[](#reference)

- **[Troubleshooting](docs/reference/troubleshooting.md)** - Common issues and solutions
- **[FAQ](docs/reference/faq.md)** - Frequently asked questions
- **[Changelog](CHANGELOG.md)** - Version history

Testing
-------

[](#testing)

Run the test suite:

```
composer test
```

Contributing
------------

[](#contributing)

Contributions are welcome! Please ensure all tests pass and code follows ArtisanPack UI Code Standards.

Security
--------

[](#security)

If you discover a security vulnerability, please send an email to .

Credits
-------

[](#credits)

- [Jacob Martella](https://github.com/jacobmartella)
- Intervention Image for image processing
- PHP-FFMpeg for video processing

License
-------

[](#license)

This package is proprietary software developed by ArtisanPack UI.

###  Health Score

41

—

FairBetter than 88% of packages

Maintenance92

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

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 ~27 days

Total

4

Last Release

105d ago

### Community

Maintainers

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

---

Top Contributors

[![ViewFromTheBox](https://avatars.githubusercontent.com/u/8247489?v=4)](https://github.com/ViewFromTheBox "ViewFromTheBox (19 commits)")

---

Tags

file-uploadimage-managementlaravellaravel-packagelivewiremedia-librarymedia-managerphp

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/artisanpack-ui-media-library/health.svg)

```
[![Health](https://phpackages.com/badges/artisanpack-ui-media-library/health.svg)](https://phpackages.com/packages/artisanpack-ui-media-library)
```

###  Alternatives

[intervention/image-laravel

Laravel Integration of Intervention Image

1496.5M100](/packages/intervention-image-laravel)[bkwld/croppa

Image thumbnail creation through specially formatted URLs for Laravel

510496.0k22](/packages/bkwld-croppa)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1225.0k10](/packages/fleetbase-core-api)[justbetter/statamic-image-optimize

Image optimization after upload

1315.2k](/packages/justbetter-statamic-image-optimize)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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