1.2.1 • Published 2 years ago

react-native-progress-circle-gradient v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

react-native-progress-circle-gradient

license Version npm

An animated progress circle with an angular gradient. The differentiator between this package and other React Native animated circular progress charts with a gradient is that the start color can be different than the stop color.

This package has only 2 dependencies (@shopify/react-native-skia and color-interpolate). It has 0 peer dependencies and so does not require react-native-reanimated to also be installed, linked and configured for your project.

This project is inspired by this YouTube tutorial.

Installation

npm install react-native-progress-circle-gradient

or

yarn add react-native-progress-circle-gradient

Props

PropDescriptionTypeDefaultRequired
colorsThe color hex values array to be used for the angular gradientString[]N/A
backgroundColorThe color hex value for the remaining progressString'#F0F8FF'
durationThe duration of the animation in millisecondsNumber1250
easingThe easing options for the animation: 'cubic', 'ease', 'linear', 'quad'String1250
granularitySmaller progress circle charts can use a smaller granularity to increase performanceNumber200
onAnimationFinishCallback for when animation reaches 100%FunctionN/A
percentageCompleteThe percentage of progress completed ranging from 0-100Number0
radiusThe radius of the progress circle in points, measured from the center of the strokeNumber100
rotationThe rotation of the progress circle in degreesNumber0
strokeWidthThe thickness of the progress circleNumber30

Usage

import { CircularProgress } from 'react-native-progress-circle-gradient';

// ...

<CircularProgress
  backgroundColor={'#1F1B24'}
  radius={100}
  strokeWidth={20}
  percentageComplete={percentageComplete}
  colors={['#0000FF', '#00FF00']}
/>;

npm.io

import { CircularProgress } from 'react-native-progress-circle-gradient';

// ...

<CircularProgress
  backgroundColor={'#1F1B24'}
  radius={128}
  strokeWidth={20}
  percentageComplete={progress}
  colors={['#0000FF', '#00FF00']}
  duration={3000}
  onAnimationFinish={() => {
    Alert.alert('Animation has finished!');
  }}
/>;

npm.io

<CircularProgress
  backgroundColor={'#1F1B24'}
  radius={100}
  strokeWidth={20}
  percentageComplete={percentageComplete}
  colors={['#0000FF', '#00FF00', '#FF0000']}
/>

npm.io

<CircularProgress
  backgroundColor={'#1F1B24'}
  radius={100}
  strokeWidth={20}
  percentageComplete={percentageComplete}
  colors={['#0000FF', '#00FF00', '#0000FF']}
  rotation={270}
/>

npm.io

Roadmap

  • Add support for text once default system fonts become available in this PR
  • Add support for children components

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

1.2.1

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago