Socket
Socket
Sign inDemoInstall

svelte-star-rating

Package Overview
Dependencies
0
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    svelte-star-rating

A simple svelte component that shows a rating from 0 to 5 with svg stars when passed a number.


Version published
Weekly downloads
289
decreased by-19.27%
Maintainers
1
Install size
12.1 kB
Created
Weekly downloads
 

Changelog

Source

[2.0.1] - 2022-09-29

Changed

  • Added a warning in readme about rating numbers not being handled by the component.
  • Updated dependencies.
  • Locked sveltejs/kit version to 1.0.0-next.405 until the API is more stable.

Fixed

  • Fixed last star disappearing if rating had more than one decimal 0, ie 3.00002 or 4.001.

Readme

Source

Svelte Star Rating

What is this

A simple svelte component that shows a rating from 0 to 5 with svg stars. Just need to pass a number. No dependencies required.

Installation

As with any other node package in svelte:

npm install svelte-star-rating

But remember to install it as a dev dependency when using it with SvelteKit (or Sapper):

npm install svelte-star-rating --save-dev

Usage

The package exports a svelte component.

The component takes a number of props:

PropTypeDefaultRequiredDescription
ratingNumber-YesThe rating. Any number from 0 to 5.0
configObject{}NoConfig options for the component. See below
styleString-NoCSS styles passed directly to the container component

About the config object:

OptionTypeDefaultDescription
emptyColorString'#7f7f7f'The color for the empty parts of the stars
fullColorString'#ffcf00'The color for the filling of the stars
showTextBooleanfalseShow the rating number next to the stars or not
sizeNumber20The size of the stars. Pass a number of pixels.

About the style prop: It accepts a string of css styles, written as inline-css. It is passed directly, unchecked, to the main div as inline-css. Use it cautiously.

Be aware

  • Passing a rating higher than 5.0 or lower than 0.0 will throw an error.
  • The component is reactive since v1.3.0 (if rating value changes, the component will change the displayed rating).
  • Any css-valid color is accepted (hsl, hex, rgb, string, etc.).
  • Stars are 1:1 proportionate (width equals height, so both equal the size property).
  • If the rating number text is shown (showText: true), font size is half the star size or 16px, whatever is higher.

Also:

  • The component doesn't handle in any way the number passed as rating: If you operate on the number, you may end up with a value of 3.02 + 0.01 = 3.0299999995, for example, due to the way JavaScript works. It's up to you to manage this before passing the number.

Example

Use it as follows:

Simple

<script>
  import StarRating from 'svelte-star-rating';
</script>

<StarRating rating={3.35} />

Output:

Simple example of Svelte Star Rating

Advanced

<script>
  import StarRating from 'svelte-star-rating';
  
  const rating = 3.35;
  const config = {
    emptyColor: 'hsl(240, 80%, 85%)',
    fullColor: '#f05',
    showText: true,
    size: 42,
  };
  const style = 'border: 1px solid firebrick;padding: 12px;';
</script>

<StarRating {rating} {config} {style} />

Output:

Advanced example of Svelte Star Rating

Keywords

FAQs

Last updated on 09 Sep 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc