stars-rating | Vaadin

A stars' images filled to show a rate

[ This description is mirrored from at on 2019-05-10 ]

stars-rating Published on

Lit-Elementy web component configurable to vote a rate stars.


stars-rating codepen demo

<h2>Basic stars-rating Demo</h2>
<h3>Demo 1</h3>
<stars-rating numstars="8" rating="6"></stars-rating>

<h3>Demo 2 - stars size 0.5em</h3>
<stars-rating numstars="12" rating="8" star-size="0.5em"></stars-rating>

<h3>Demo 3 - Customized</h3>
  #emoji {
    --start-unicode: '❤️';
    --star-size: 0.5em;
<stars-rating id="emoji" numstars="8" rating="6"></stars-rating>

<h3>Demo 4 - Click in star to vote a rating</h3>
<p>Your rating: <span id="yourRating"></span></p>
<stars-rating id="demo6" numstars="5" manual></stars-rating>
  var el = document.querySelector("#demo6");
  el.addEventListener('rating-changed', function(ev) {
    document.querySelector("#yourRating").innerText = ev.detail;

<h3>Demo 5 - Click in star to vote a rating with by default value</h3>
<stars-rating numstars="5" rating="3" manual></stars-rating>
<stars-rating num-stars="8" rating="6"></stars-rating>

<stars-rating num-stars="12" rating="8" star-size="0.5em"></stars-rating>

<p>Click in star to vote a rating</p>
<stars-rating num-stars="5" mode="manual"></stars-rating>

<p>Click in star to change the rating</p>
<stars-rating num-stars="5" rating="3" mode="manual"></stars-rating>

Install the Polymer-CLI

First, make sure you have the Polymer CLI and npm (packaged with Node.js) installed. Run npm install to install your element's dependencies, then run polymer serve to serve your element locally.

Viewing Your Element

$ polymer serve

Running Tests

$ polymer test


$ npm run build

Your application is already set up to be tested via web-component-tester. Run polymer test to run your application's test suite locally.



This project is licensed under the Apache 2.0 License - see the LICENSE file for details


  • Cesar Villar @beatbits Thank you for his comments and that he is always there to help
  • Jorge del Casar @jorgecasar Thank you for emojis and improvements. You are a true ninja! ;)


Link to this version
ImportedReleased 07 June 2018Other
Framework Support
Polymer 2.0+
Also supported:
Polymer 1 (1.1.2)
Browser Compatibility
Install with
Release notes - Version 2.1.7