npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-canvas-progress

v0.3.6

Published

Simple progress component for react

Readme

react-canvas-process

React process component drawn by canvas 2d with simple config🎨

Installation

npm install react-canvas-process
# or
yarn add react-canvas-process

Basic Usage

import React from 'react';
import ReactDOM from 'react-dom';
import ReactCanvasProcess from 'react-canvas-process';

ReactDOM.render(
  <ReactCanvasProcess
    percentage={80}
    startAngle={4 / 5 * Math.PI}
    endAngle={1 / 5 * Math.PI}
  />,
  document.querySelector('#app'),
);

Click to see more usage🖱

Props options

| Option | Type | Required | Description | | --------------------- | --------------------- | -------- | ----------------------------------------------------------- | | percentage | number | true | Percentage value, range [0, 100] | | unit | string | false | Unit of canvas size, default is vw | | startAngle | number | false | Radian of start angle(not degree), default is π | | endAngle | number | false | Radian of end angle(not degree), default is 0 | | speed | number | false | Speed of animation, default increase 1% per frame | | animation | boolean | false | Whether show animation, default is true | | width | number | false | Width of canvas, default is 100vw | | height | number | false | Height of canvas, default ratio of width / height is 3 / 2 | | lineWidth | number | false | Width of progress bar, default is 1vw | | text | string | false | Text of process bar, default show curren percentage | | font | string | false | Font family of text, default is serif | | fontSize | number | false | Size of text, default is 8vw | | fontColor | string | false | Color of text | | withBaseProgressColor | boolean | false | Whether show base progress, default is true | | baseProgressColor | string | false | Color of base progress | | progressColor | string | false | Color of progress | | bgColor | string | false | Color of background, default is #fff | | style | React.CSSProperties | false | Style of the wrapper of canvas | | className | string | false | Classname of the wrapper of canvas | onAnimationStart | () => void | false | Call this hook when animation start | onAnimationEnd | () => void | false | Call this hook when animation end |

Description

description

The angles of start and end are the same as arc function in canvas 2d. And now is version 0.1.0, there are still many features to be developed.

Todo

  • [ ] Support line progress bar.
  • [ ] Support gradient color of progress bar.
  • [ ] Support description text.
  • [x] Support dynamic percentage.
  • [x] Support lifecycle callback.
  • [ ] Support padding style of canvas.