PHPackages                             fuelviews/laravel-sabhero-portfolio - 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. fuelviews/laravel-sabhero-portfolio

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

fuelviews/laravel-sabhero-portfolio
===================================

Sabhero portfolio package

v0.0.12(5mo ago)0968[2 PRs](https://github.com/fuelviews/laravel-sabhero-portfolio/pulls)MITPHPPHP ^8.3CI passing

Since Mar 27Pushed 3d ago1 watchersCompare

[ Source](https://github.com/fuelviews/laravel-sabhero-portfolio)[ Packagist](https://packagist.org/packages/fuelviews/laravel-sabhero-portfolio)[ Docs](https://github.com/fuelviews/laravel-sabhero-portfolio)[ RSS](/packages/fuelviews-laravel-sabhero-portfolio/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (15)Versions (18)Used By (0)

SAB Hero Portfolio Package
==========================

[](#sab-hero-portfolio-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/06e94fd820ddb1911938aa822976322c2663eb1717eef77257984b732689d836/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6675656c76696577732f6c61726176656c2d7361626865726f2d706f7274666f6c696f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fuelviews/laravel-sabhero-portfolio)[![Total Downloads](https://camo.githubusercontent.com/ddf3cbc352a61cdc9d18dc960e48dc13bedcffa090ae5a5aa7d7757f15273715/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6675656c76696577732f6c61726176656c2d7361626865726f2d706f7274666f6c696f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fuelviews/laravel-sabhero-portfolio)

A Laravel package for managing and displaying before/after image portfolios with a dynamic slider component. Perfect for renovation projects, home improvements, design transformations, or any visual comparison showcase.

Features
--------

[](#features)

- Filament admin panel integration for easy content management
- Before/After interactive slider component
- Customizable portfolio types with Filament UI integration
- Responsive image handling with transparent PNG support
- Configurable media storage disk support
- Livewire components for seamless frontend integration
- Import/Export functionality (CSV and Laravel migration formats)

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

[](#installation)

You can install the package via composer:

```
composer require fuelviews/laravel-sabhero-portfolio
```

You can publish and run the migrations with:

```
php artisan vendor:publish --tag="sabhero-portfolio-migrations"
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="sabhero-portfolio-config"
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="sabhero-portfolio-views"
```

Integration
-----------

[](#integration)

### 1. Attach to Filament Panel

[](#1-attach-to-filament-panel)

Add the SabHero Portfolio plugin to your Filament panel provider:

```
use Fuelviews\SabHeroArticle\Facades\SabHeroPortfolio;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            SabHeroPortfolio::make()
        ]);
}
```

Usage
-----

[](#usage)

### Admin Panel

[](#admin-panel)

After installation, you'll find a new "Portfolio" section in your Filament admin panel where you can

1. Create, edit, and delete portfolio entries
2. Upload before and after images
3. Categorize entries by type
4. Control spacing and ordering
5. Publish/unpublish entries

### Import/Export

[](#importexport)

The package includes powerful import/export functionality for backing up, migrating, and managing portfolio content.

**Available Operations:**

- **CSV Export** - Export portfolios with before/after images to ZIP file
- **CSV Import** - Import portfolios from ZIP file with images
- **Migration Export** - Export as production-ready Laravel migration with markdown files

**Access in Filament:**

1. Navigate to Portfolio → Entries in your admin panel
2. Click "Import Portfolios" (top-right) to import from ZIP
3. Select portfolios and use "Bulk actions" dropdown for export options

**For Complete Documentation:**See [IMPORT\_EXPORT.md](IMPORT_EXPORT.md) for:

- Detailed file format specifications
- Step-by-step workflows and use cases
- Migration installation instructions
- Troubleshooting guide
- Best practices for backup and deployment

### Frontend Display

[](#frontend-display)

You can display the before/after slider in your Blade views using Livewire:

For all portfolio types

```
@livewire('sabhero-portfolio::before-after-slider')
```

Or

```

```

For specific portfolio types

```
@livewire('sabhero-portfolio::before-after-slider', ['type' => 'commercial'])
```

Or

```

```

### Custom Portfolio Types

[](#custom-portfolio-types)

You can define custom portfolio types in the configuration file. Each type requires:

- A unique key (used in the database)
- A label (displayed in the UI, stored in lowercase)
- A color (used in the Filament admin panel)

### Custom Media Storage

[](#custom-media-storage)

By default, the package uses the disk configured in your Spatie Media Library config. You can override this in the package config

```
// config/sabhero-portfolio.php
    'media' => [
        'disk' => 'public',
    ],
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

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

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

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

[](#requirements)

- PHP 8.3 or higher
- Laravel 10.0 or higher
- Filament 3.0 or higher
- Spatie Media Library 10.0 or higher
- League CSV 9.0 or higher
- Symfony YAML 6.0 or higher

Credits
-------

[](#credits)

- [Joshua Mitchener](https://github.com/thejmitchener)
- [Daniel Clark](https://github.com/sweatybreeze)
- [Fuelviews](https://github.com/fuelviews)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance86

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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 ~26 days

Recently: every ~52 days

Total

12

Last Release

173d ago

PHP version history (2 changes)v0.0.1PHP ^8.3

v0.0.4PHP ^8.3||^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/83557136?v=4)[Fuelviews](/maintainers/fuelviews)[@fuelviews](https://github.com/fuelviews)

---

Top Contributors

[![thejmitchener](https://avatars.githubusercontent.com/u/64335706?v=4)](https://github.com/thejmitchener "thejmitchener (12 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![sweatybreeze](https://avatars.githubusercontent.com/u/67076156?v=4)](https://github.com/sweatybreeze "sweatybreeze (1 commits)")

---

Tags

laravelFuelviewssabhero-portfolio

###  Code Quality

TestsPest

Static AnalysisRector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/fuelviews-laravel-sabhero-portfolio/health.svg)

```
[![Health](https://phpackages.com/badges/fuelviews-laravel-sabhero-portfolio/health.svg)](https://phpackages.com/packages/fuelviews-laravel-sabhero-portfolio)
```

###  Alternatives

[codewithdennis/filament-select-tree

The multi-level select field enables you to make single selections from a predefined list of options that are organized into multiple levels or depths.

329530.5k29](/packages/codewithdennis-filament-select-tree)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M47](/packages/spatie-laravel-pdf)[filament/actions

Easily add beautiful action modals to any Livewire component.

1327.7M78](/packages/filament-actions)[codebar-ag/laravel-filament-json-field

A Laravel Filament JSON Field integration with CodeMirror support

1126.6k](/packages/codebar-ag-laravel-filament-json-field)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[rawilk/filament-password-input

Enhanced password input component for filament.

52263.4k14](/packages/rawilk-filament-password-input)

PHPackages © 2026

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