Image Radio Button by Mohamed Alkoumi
CommunityAdd a radio button but with only images to filament forms.
Author:
Mohamed Alkoumi
Package health
Automated checks of this plugin's Composer package
15 checks
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
- Skipped: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 121 days ago; last release 121 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2|^8.3|^8.4supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Requirements
- Installation
- Usage
- Configuration
- Screenshots
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
A Filament form component that replaces traditional radio buttons with image selection. Supports RTL and Dark Mode.

#Requirements
| Version | PHP | Filament | Livewire | Laravel |
|---|---|---|---|---|
| 2.x | 8.2+ | 3.x, 4.x, 5.x | 3.x, 4.x | 10.x, 11.x, 12.x |
| 1.x | 8.1+ | 3.x, 4.x | 3.x | 10.x, 11.x |
#Installation
composer require alkoumi/filament-image-radio-button
#Theme Setup (Filament 4+)
-
Create a custom theme: Filament Docs
-
Add the package views to your theme CSS:
@source '../../../../vendor/alkoumi/filament-image-radio-button/resources/views/**/*.blade.php';
- Register the theme in your Panel Provider:
->viteTheme('resources/css/filament/admin/theme.css')
- Build assets:
npm run build
#Usage
#Basic Usage
use Alkoumi\FilamentImageRadioButton\Forms\Components\ImageRadioGroup;
ImageRadioGroup::make('report_id')
->disk('reports')
->options(fn () => Report::pluck('file', 'id')->toArray())
#Full API
use Alkoumi\FilamentImageRadioButton\Forms\Components\ImageRadioGroup;
ImageRadioGroup::make('report_id')
->label(__('Report Design'))
->required()
->disk('reports') // Storage disk name
->options(fn () => [...]) // Array of [ id => image_path ]
->gridColumns(4) // Number of columns (default: 3)
->live() // Enable live updates
#Dynamic Options
ImageRadioGroup::make('report_id')
->disk('reports')
->options(fn (Get $get) => Report::whereType($get('type_id'))->pluck('file', 'id')->toArray())
->afterStateUpdated(fn (Get $get, Set $set, ?string $state) =>
$set('selected_report', Report::find($state))
)
->live()
#Configuration
#Storage Disk Setup
Define a disk in config/filesystems.php:
'reports' => [
'driver' => 'local',
'root' => storage_path('app/public/reports'),
'url' => env('APP_URL') . '/storage/reports',
'visibility' => 'public',
],
#Options Format
Options must be an array where:
- Key: The value to store (e.g., model ID)
- Value: The image path relative to the disk
// Example: ['1' => 'storage/template1.jpg', '2' => 'storage/template2.png']
Report::pluck('image_path', 'id')->toArray()
#Screenshots

#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
n8n chat
Seamless integration of n8n chat widget into your FilamentPHP applications with full multilingual support and theme customization.
Author:
Mohamed Alkoumi
Google Charts
Seamless integration of Google Charts widgets into your Filament.
Author:
Mohamed Alkoumi
Featured Plugins
A selection of plugins curated by the Filament team
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch