JSFiddle - React, Tailwind, and code Playground

by Craig Humphreys

HTML

<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/cdn/heart-rating.min.js"></script>
<div id="app">
  <h1>Default</h1>
  <heart-rating></heart-rating>

  <h1>Half Rating</h1>
  <heart-rating :increment="0.5"></heart-rating>

  <h1>Fluid Rating</h1>
  <heart-rating :increment="0.01" :fixed-points="2"></heart-rating>

  <h1>Pink Hearts</h1>
  <heart-rating inactive-color="#e1bad9" active-color="#cc1166"></heart-rating>

  <h1>Small Hearts</h1>
  <heart-rating :item-size="20" :spacing="3"></heart-rating>

  <h1>Big Hearts</h1>
  <heart-rating :item-size="80"></heart-rating>

  <h1>Lots of Hearts</h1>
  <heart-rating :item-size="20" :spacing="3" :max-rating="10"></heart-rating>
  
  <h1 style="direction:rtl;">RTL Hearts</h1>
  <heart-rating :increment="0.5" :rtl="true"></heart-rating>
  
  <h1>Preset Rating</h1>
  <heart-rating :rating="3"></heart-rating>

  <h1>Read-only Rating</h1>
  <heart-rating :read-only="true" :rating="4.3" :increment="0.01"></heart-rating>

  <h1>Hide Rating</h1>
  <heart-rating :show-rating="false"></heart-rating>

  <h1>Resettable / Synced</h1>
  <div>
    <heart-rating v-model="rating"></heart-rating>

    <p><strong>Your current rating: {{rating}}</strong> - <a href="#" @click.prevent="rating = 0">Reset</a></p>
  </div>

  <h1>Mouse Over Rating</h1>
  <div @mouseout="mouseOver = null">
    <heart-rating @current-rating="mouseOver = $event"></heart-rating>

    <p><strong>Mouse Over: {{mouseOver}}</strong></p>
  </div>

  <h1>Inline Rating</h1>
    Rated <heart-rating :inline="true" :item-size="20" :rating="5" :show-rating="false" :read-only="true" :spacing="2"></heart-rating> by our customers. 
</div>

CSS

body {
  font-family: arial;
}

h1 {
  font-size: 1.5em;
}

JavaScript

new Vue({
  el: "#app",
  data: {
    rating: 3,
    mouseOver: null
  }
})