l3aro/rating-star-for-filament
Add a star-rating field to Filament forms and tables with an easy-to-use UI. Display and edit ratings using customizable stars and sensible defaults, making it quick to collect feedback and show score values inside your admin panel.
A Filament plugin that provides elegant star rating components for forms, tables, and infolists. Features interactive rating input with support for half-stars and zero values, fully customizable star count, color, and icon size. Perfect for collecting and displaying user ratings in any Filament-powered panel.
You can install the package via composer:
composer require l3aro/rating-star-for-filament
[!IMPORTANT] If you have not set up a custom theme and are using Filament Panels follow the instructions in the Filament Docs first.
After setting up a custom theme add the plugin's views to your theme css file or your app's css file if using the standalone packages.
@source '../../../../vendor/l3aro/rating-star-for-filament/resources/**/*.blade.php';
You can publish the config file with:
php artisan vendor:publish --tag="filament-rating-star-config"
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-rating-star-views"
This is the contents of the published config file:
use Filament\Support\Colors\Color;
use Filament\Support\Enums\IconSize;
return [
'stars' => 5,
'allow_half_star' => false,
'allow_zero' => false,
'color' => Color::Amber,
'icon_size' => IconSize::Medium,
];
Use StarInput in your form schema:
use l3aro\FilamentRatingStar\Components\StarInput;
use Filament\Support\Colors\Color;
use Filament\Support\Enums\IconSize;
StarInput::make('rating')
->stars(5) // Number of stars (default: 5)
->allowHalfStar() // Enable half-star selection (default: false)
->allowZero() // Allow zero rating (default: false)
->color(Color::Amber) // Star color (default: Amber)
->iconSize(IconSize::Medium); // Star size (default: Medium)
Use StarColumn in your table:
use l3aro\FilamentRatingStar\Components\StarColumn;
use Filament\Support\Colors\Color;
use Filament\Support\Enums\IconSize;
StarColumn::make('rating')
->stars(5) // Number of stars to display (default: 5)
->color(Color::Amber) // Star color (default: Amber)
->iconSize(IconSize::Medium); // Star size (default: Medium)
Use StarEntry in your infolist:
use l3aro\FilamentRatingStar\Components\StarEntry;
use Filament\Support\Colors\Color;
use Filament\Support\Enums\IconSize;
StarEntry::make('rating')
->stars(5) // Number of stars to display (default: 5)
->color(Color::Amber) // Star color (default: Amber)
->iconSize(IconSize::Medium); // Star size (default: Medium)
Enable the plugin in your PanelProvider:
use l3aro\FilamentRatingStar\FilamentRatingStarPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
FilamentRatingStarPlugin::make(),
]);
}
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.
How can I help you explore Laravel packages today?