@justeat/f-rating
v0.18.0
Published
Fozzie Rating - Global Rating component
Downloads
26
Maintainers
Keywords
Readme
f-rating
Usage
Installation
Install the module using npm or Yarn:
yarn add @justeat/f-rating
npm install @justeat/f-rating
Vue Applications
You can import it in your Vue SFC like this (please note that styles have to be imported separately):
import VRating from '@justeat/f-rating';
import '@justeat/f-rating/dist/f-rating.css';
export default {
components: {
VRating
}
}
If you are using Webpack, you can import the component dynamically to separate the v-rating
bundle from the main bundle.client.js
:
import '@justeat/f-rating/dist/f-rating.css';
export default {
components: {
// …
VRating: () => import(/* webpackChunkName: "v-rating" */ '@justeat/f-rating')
}
}
Configuration
Props
There may be props that allow you to customise its functionality.
The props that can be defined are as follows (if any):
| Prop | Type | Required | Default | Description | Options |
|:----------------------------|:---------:|:--------:|:---------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
| starRating
| Number
| Yes | - | Sets the displayed rating (filled stars). i.e. for 2 out of x
, 2 would be the starRating
| -
| maxStarRating
| Number
| No | 5 | Sets the maximum number of stars that the rating is set against. i.e. for x out of 5
, 5 would be the maxStarRating
You can use any number of stars, so if you currently need 6 all you have to do is pass in 6. | -
| starRatingSize
| String
| No | 'small' | Sets the component size. By default the component will use small
. Note:
If you find that the size you currently use doesn't fall into one for the four size options here then please move up to the next available size. e.g if you use 22px as your rating size then you should move to 24px (medium
) | xsmall = 16px
small = 20px
medium = 24px
large = 32px
| ratingDisplayType
| String
| No | 'short' | Sets the descriptive text which will be displayed next to the component. | short
medium
long
| reviewCount
| Number
| No | null | Sets the total number of reviews to display. Example: View 499 reviews
where 499
is the total. | -
| isUserRating
| Boolean
| No | false | Sets the rating as (You)
to indicate the rating viewed was left by the user. | -
| shouldAlignRatingTextLeft
| Boolean
| No | false | When true
is passed in, the rating display text will be set to the left hand side of the SVG stars. | -
| ratingFontSize
| String
| No | 'default' | Sets the rating display font size, allowing a default size and a large
size. | -
| locale
| String
| No | '' | NOTE: If a locale isn't set then the consuming application is responsible for providing the component with the correct translations. | -
Events
The events that can be subscribed to are as follows (if any):
| Event | Description | | ----- | ----------- |
Development
Start by cloning the repository and installing the required dependencies:
$ git clone [email protected]:justeat/fozzie-components.git
$ cd fozzie-components
$ yarn
Change directory to the f-rating
package:
$ cd packages/components/molecules/f-rating
Testing
To test all components, run from root directory.
To test only f-rating
, run from the ./fozzie-components/packages/components/molecules/f-rating
directory.
Unit and Integration tests
yarn test
Component and Accessibility Tests
# Note: Ensure Storybook is running when running the following commands
cd ./fozzie-components
yarn storybook:build
yarn storybook:serve-static
yarn test-component:chrome
### Accessibility tests
```bash
yarn test-a11y:chrome