react-customizable-progressbar
v2.0.1
Published
Customizable circular SVG progress bar component for React
Downloads
16,649
Maintainers
Readme
react-customizable-progressbar
Customizable circular SVG progress bar component for React
Check examples or generator to play around with all props
Installation
npm install --save react-customizable-progressbar
or
yarn add react-customizable-progressbar
Usage
import ProgressBar from 'react-customizable-progressbar';
<ProgressBar progress={60} radius={100} />;
Props
| Name | Type | Default | Description |
| ----------------------- | -------- | ------------- | ---------------------------------------------------- |
| radius
(required) | number
| 100
| Progress bar radius |
| progress
(required) | number
| 0
| Progress value (out of steps
) |
| steps
| number
| 100
| Total steps |
| cut
| number
| 0
| Angle of the circle sector |
| rotate
| number
| -90
| Progress rotation |
| strokeWidth
| number
| 20
| Stroke width |
| strokeColor
| string
| 'indianred'
| Stroke color |
| strokeLinecap
| string
| 'round'
| Stroke line cap |
| transition
| string
| '0.3s ease'
| Transition |
| trackStrokeWidth
| number
| 20
| Track stroke width |
| trackStrokeColor
| string
| '#e6e6e6'
| Track stroke color |
| trackStrokeLinecap
| string
| 'round'
| Track stroke line cap |
| trackTransition
| string
| '1s ease'
| Track transition |
| pointerRadius
| number
| 0
| Pointer radius |
| pointerStrokeWidth
| number
| 20
| Pointer stroke width |
| pointerStrokeColor
| string
| 'indianred'
| Pointer stroke color |
| pointerFillColor
| string
| 'white'
| Pointer fill color |
| initialAnimation
| bool
| false
| Initial animation |
| initialAnimationDelay
| number
| 0
| Initial animation delay |
| inverse
| bool
| false
| Inverse |
| counterClockwise
| bool
| false
| Counter-clockwise |
| children
| node
| null
| Children - pass anything to show inside progress bar |
| className
| string
| ''
| Progress bar class name |
Styles
.RCP {
}
.RCP__track {
}
.RCP__progress {
}
.RCP__pointer {
}
You can use these default indicator styles to center it both horizontally and vertically:
.your-indicator {
display: flex;
justify-content: center;
text-align: center;
position: absolute;
top: 0;
width: 100%;
height: 100%;
margin: 0 auto;
user-select: none;
}
Run examples locally
npm install
npm run dev