0.6.8 • Published 7 years ago

react-pie-progressbar v0.6.8

Weekly downloads
18
License
MIT
Repository
github
Last release
7 years ago

React Circular Progressbar

A circular Pie progress indicator component, built with SVG. Easily customizable with CSS.

Installation

Install the npm module:

npm install react-pie-progressbar

Important: you'll also need to copy src/styles.css into your repo to use the default styling!

Usage

Import the component:

import CircularProgressbar from 'react-pie-progressbar';

..and use the component in your JSX:

<CircularProgressbar percentage={60} />

Props

NameDescription
percentageNumeric percentage to display, from 0-100. Required.
classNameClasses to apply to the svg element
strokeWidthWidth of circular line as a percentage relative to total width of component. Default: 8.
backgroundWhether to display background color. Default: false.
backgroundPaddingPadding between background and edge of svg as a percentage relative to total width of component. Default: 0.
initialAnimationToggle whether to animate progress starting from 0% on initial mount. Default: false.
classForPercentageFunction which returns an additional class to apply to top-level svg element, which can be used for coloring/styling percentage ranges differently. Example: (percent) => percent < 100 ? 'incomplete' : 'complete'.
textForPercentageFunction which returns text to display, can be configured based on percentage. Example: (pct) => `${pct}%`.
backgroundImageString which has the url of the image. Default: .
classesObject mapping to override classNames of each svg element (root, trail, path, text, background). Enables styling with react-jss. See this PR for more detail.

Customizing styles

Use plain CSS to customize the styling - the default CSS is a good starting point, but you can modify it as needed. There are CSS hooks for the path, trail, text, and background of the progressbar which you can customize, e.g.:

.CircularProgressbar-path { stroke: red; }
.CircularProgressbar-trail { stroke: gray; }
.CircularProgressbar-text { fill: yellow; }
.CircularProgressbar-background { fill: green; }

You can also use the className prop to add different classes to the top-level SVG element, and then use that to add different themes to different instances, e.g.:

<CircularProgressbar percentage={25} className="progressbar-red" />
<CircularProgressbar percentage={25} className="progressbar-blue" />
.progressbar-red .CircularProgressbar-path { stroke: red; }
.progressbar-blue .CircularProgressbar-path { stroke: blue; }

Development

To run demo locally on localhost:8080:

npm install
npm start

Keep CI tests passing by running npm test and npm run lint often.

0.6.8

7 years ago

0.6.7

7 years ago

0.6.6

7 years ago

0.6.5

7 years ago

0.6.4

7 years ago

0.6.3

7 years ago

0.6.2

7 years ago

0.6.1

7 years ago

0.6.0

7 years ago