A performant, simple, flexible circular progress ring component for all React Native apps (Expo and Bare) 🔥
npm install react-native-progress-ringA performant, simple, flexible circular progress ring component for React Native apps 🔥
Great for progress indicators, goals and countdown timers 📈🏆⏳
Works with Expo and bare React Native apps.
- Demos 📱
- Peer Dependencies 👶
- Installation 🚀
- Examples 😎
- Progress Ring (Dark Mode) 🌚
- Progress Ring (Light Mode) 🌞
- Props 💅
- ProgressRing ⏲️
- Custom Styles 👗
- Methods 🔄
- License 📝
This component only requires one peer dependency to work in your React Native Project:
Supports React Native >= 0.59.0 and React >= 16.8.0.
Just run:
``bash`
npm install react-native-progress-ring
or
`bash`
yarn add react-native-progress-ring
Remember to follow the installation instructions for react-native-reanimated if you do not already have it installed.
`jsx
`
`jsx
`
#### Custom Styles 👗
The following custom styles can be supplied to re-style the component in any way. Various styles are applied by default - you can take a look at these here.
The library exposes a ProgressRingRef type, which can be used to type your ref to the picker:
`javascript`
const progressRingRef = useRef
It has the following available methods:
reset - imperative method to reset the progress ring to its initial state. The startInPausedState option defines whether the animation will play when this is called. If that option is not defined, it will fall back to the startInPausedState prop (if defined).
`javascript`
progressRingRef.current.reset(options?: { startInPausedState?: boolean });
Contributions to this project are more than welcome.
To get this project running locally:
1. Clone the Git repo.
2. Run yarn to install the base dependenciesyarn setup
3. Run from the project root (this installs the example's additional dependencies)yarn start
4. Run to start the example in Expo Go.
5. Start adding cool stuff! Your changes should be immediately reflected in the Expo Go app.
You can also run the library in bare React Native:
1. Clone the Git repo.
2. Run yarn to install the base dependenciesyarn setup-dev
3. Run .yarn start-bare:android
4. Run or start-bare:ios to start the project on an emulator/device.
There are two permenant branches: main and develop. You should never work directly on either of these branches.
1. Create a new branch off develop for your work using the pattern feature/{DESCRIPTION}.develop
2. When you think your work is ready for review, submit a PR from your branch back to .develop`, and will be included in the next major/minor release.
3. Once the PR is resolved, your work will be merged into
This project is licensed under the MIT License.