l3aro / rating-star-for-filament
Rating star for filament table column and schemas.
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^4.0|^5.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.7|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- pestphp/pest-plugin-livewire: ^3.0|^4.0
- rector/rector: ^2.0
README
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.
Installation
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, ];
Usage
Form Field
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)
Table Column
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)
Infolist Entry
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)
Register Plugin
Enable the plugin in your PanelProvider:
use l3aro\FilamentRatingStar\FilamentRatingStarPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentRatingStarPlugin::make(), ]); }
Testing
composer test
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.