Detalles del ejemplo
Filament Rating Field
Campo de valoración interactivo para Filament v4 con soporte para estrellas, corazones y otros iconos.
Instalación
composer require cursosdesarrolloweb/filament-rating-field
Uso Rápido
Añade un campo de valoración en tu formulario:
use CursosDesarrolloWeb\RatingField\Forms\Components\RatingField;
RatingField::make('rating')
->label('Valoración del producto')
Campo de Formulario
use CursosDesarrolloWeb\RatingField\Forms\Components\RatingField;
use Filament\Support\Icons\Heroicon;
// Uso básico - 5 estrellas
RatingField::make('rating')
->label('Valoración del producto')
// Personalizar máximo
RatingField::make('priority')
->ratingMax(10)
->label('Prioridad')
// Diferentes iconos
RatingField::make('satisfaction')
->icon(Heroicon::Heart)
->color('danger')
// Permitir medios valores (3.5 estrellas)
RatingField::make('score')
->allowHalf()
// Con valor mostrado al lado
RatingField::make('average_rating')
->showValue() // Muestra "4.5 / 5" junto a las estrellas
// Tamaños: sm, md, lg, xl
RatingField::make('rating')
->size('lg')
// Con etiquetas descriptivas por valor
RatingField::make('experience')
->labels([
1 => 'Muy malo',
2 => 'Malo',
3 => 'Regular',
4 => 'Bueno',
5 => 'Excelente',
])
->showLabelOnHover()
// Requerido con validación
RatingField::make('rating')
->required()
->minValue(1)
Columna de Tabla
use CursosDesarrolloWeb\RatingField\Tables\Columns\RatingColumn;
use Filament\Support\Icons\Heroicon;
RatingColumn::make('rating')
->ratingMax(5)
->icon(Heroicon::Star)
->color('warning')
// Compacto para tablas densas
RatingColumn::make('rating')
->size('sm')
// Mostrar valor numérico junto a iconos
RatingColumn::make('rating')
->showValue()
Entry para Infolist
use CursosDesarrolloWeb\RatingField\Infolists\Components\RatingEntry;
use Filament\Support\Icons\Heroicon;
RatingEntry::make('rating')
->ratingMax(5)
->icon(Heroicon::Star)
->color('warning')
->size('lg')
->showValue()
Métodos Disponibles
Comunes a todos los componentes
| Método | Descripción | Default |
|---|---|---|
ratingMax(int) |
Número máximo de iconos | 5 |
icon(Heroicon|string) |
Icono lleno | Heroicon::Star |
emptyIcon(Heroicon|string) |
Icono vacío | Heroicon::OutlinedStar |
color(string) |
Color del icono | 'warning' |
size(string) |
Tamaño: sm, md, lg, xl | 'md' |
Solo RatingField (formularios)
| Método | Descripción | Default |
|---|---|---|
allowHalf() |
Permitir valores decimales (.5) | false |
showValue() |
Mostrar valor numérico | false |
minValue(int) |
Valor mínimo requerido | null |
labels(array) |
Etiquetas por valor | [] |
showLabelOnHover() |
Mostrar etiqueta al hover | false |
RatingColumn y RatingEntry
| Método | Descripción | Default |
|---|---|---|
showValue() |
Mostrar valor numérico | false |
Colores Disponibles
| Color | Descripción |
|---|---|
primary |
Color primario del tema |
secondary |
Color secundario |
success |
Verde |
warning |
Amarillo/Naranja (ideal para estrellas) |
danger |
Rojo (ideal para corazones) |
info |
Azul |
gray |
Gris |
Iconos Sugeridos
use Filament\Support\Icons\Heroicon;
Heroicon::Star // Estrella (default)
Heroicon::Heart // Corazón
Heroicon::HandThumbUp // Pulgar arriba
Heroicon::Fire // Fuego
Heroicon::Bolt // Rayo
Requisitos
- PHP 8.2+
- Laravel 11+
- Filament 4.x|5.x
Licencia
Propietario - Solo para suscriptores de CursosDesarrolloWeb.