nikaia/nova-rating-field

Add start rating field to Laravel Nova

Maintainers

👁 nbourguig

Package info

github.com/nikaia/nova-rating-field

Language:Vue

pkg:composer/nikaia/nova-rating-field

Statistics

Installs: 289 332

Dependents: 0

Suggesters: 0

Stars: 41

Open Issues: 31

1.0.2 2019-12-24 07:19 UTC

Requires

None

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 6db4fdf4fc1177af401645149cda814f1fce27c3

  • Nassif Bourguig <nbourguig.woop@gmail.com>

novalaravelRatingfield

This package is auto-updated.

Last update: 2026-06-09 19:30:25 UTC


README

A Star rating field to use in your Laravel Nova apps.

Uses vue-star-rating.

👁 Latest Version on Packagist
👁 Total Downloads

👁 Image

👁 Image

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require nikaia/nova-rating-field

Next you can use the Nikaia\Rating\Rating field in your Nova resource.

Usage

public function fields(Request $request)
{
 return [
 // ...

 Rating::make('Rating')->min(0)->max(5)->increment(0.5)->hideFromIndex(),
 
 // Defining a custom style for the index page.
 Rating::make('Rating')->min(0)->max(5)->increment(0.5)->hideRating()
 ->withStyles([
 'star-size' => 15,
 'rounded-corners' => true,
 ])->onlyOnIndex()->sortable(),

 // ... 
 
 ];
}

Defining properties

public function fields(Request $request)
{
 Rating::make('Rating')
 
 // Miniumum rating (default: 0)
 ->min(0) 
 
 // Maximum rating (default: 5)
 // This is how the component knows how many stars it should display.
 ->max(5)
 
 // Incremet (default: 1)
 // Can be float. The underlying eloquent colum must be defined as float in that case.
 // ie. 0.5 for half stars or 0.01 for fluid stars.
 ->increment(0.5)
 
 // Show rating value next to the stars
 ->hideRating()
 
}

Customizing styles

You can style the component using withStyles method. Options are passed to the the underlying vue component style props.

Default values are :

public function fields(Request $request)
{
 Rating::make('Rating')
 ->withStyles([
 'star-size' => 30,
 'active-color' => 'var(--primary)', // Primary nova theme color.
 'inactive-color' => '#d8d8d8',
 'border-color' => 'var(--60)',
 'border-width' => 0,
 'padding' => 10,
 'rounded-corners' => false,
 'inline' => false,
 'glow' => 0,
 'glow-color' => '#fff',
 'text-class' => 'inline-block text-80 h-9 pt-2',
 ]);
}