
Research
NPM targeted by malware campaign mimicking familiar library names
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
react-native-segmented-arc
Advanced tools
Arc ProgressBar for React Native, works on both iOS and Android Check out our documentation below to learn how to get started.
Idea & base code adapted from https://github.com/shipt/segmented-arc-for-react-native
Install react-native-svg
library for Dependency
Install react-native-arc-progress-bar
:
yarn add react-native-arc-progress-bar
npm install react-native-arc-progress-bar
Here is a basic example of how to use this component. It covers all the main features.
import React, { useState } from 'react';
import { View, Text, Pressable } from 'react-native';
import { ArcProgressBar } from 'react-native-arc-progress-bar';
const App = () => {
const [showArcRanges, setShowArcRanges] = useState(false);
const segments = [
{
scale: 0.25,
filledColor: '#C70039',
emptyColor: '#F2F3F5',
data: { label: 'Not bad!' }
},
{
scale: 0.25,
filledColor: '#404FCD',
emptyColor: '#F2F3F5',
data: { label: 'Good!' }
},
{
scale: 0.25,
filledColor: '#EBD22F',
emptyColor: '#F2F3F5',
data: { label: 'Very Good!' }
},
{
scale: 0.25,
filledColor: '#44CD40',
emptyColor: '#F2F3F5',
data: { label: 'Excellent!' }
}
];
const ranges = ['10%', '20%', '30%', '40%', '50%'];
const _handlePress = () => {
setShowArcRanges(!showArcRanges);
};
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<ArcProgressBar
segments={segments}
fillValue={70}
isAnimated={true}
animationDelay={1000}
showArcRanges={showArcRanges}
ranges={ranges}
>
{data => (
<Pressable onPress={_handlePress} style={{ alignItems: 'center' }}>
<Text style={{ fontSize: 16, paddingTop: 16 }}>{data.lastFilledSegment.data.label}</Text>
<Text style={{ lineHeight: 80, fontSize: 24 }}>More info</Text>
</Pressable>
)}
</ArcProgressBar>
</View>
);
};
export default App;
Name | Type | Default | Description |
---|---|---|---|
fillValue | number (0-100) | 0 | Current progress value |
segments | Array of { scale: number, filledColor: string, emptyColor: string, data: object } | [] | Segments of the arc. Here, scale is a percentage value out of 100%, filledColor for filled part of a segment, and emptyColor is background color for an empty segment, data could be any object that you'd want to receive back for a segment. See example above. |
filledArcWidth | number | 8 | Thickness of progress line |
emptyArcWidth | number | 8 | Thickness of background line |
spaceBetweenSegments | number | 2 | Space between segments |
arcDegree | number | 180 | Degree of arc |
radius | number | 100 | Arc radius |
isAnimated | bool | true | Enable/disable progress animation |
animationDuration | number | 1000 | Progress animation duration |
animationDelay | number | 0 | Progress animation delay |
ranges | Array of strings | [] | Arc ranges (segments) display values |
rangesTextColor | string | '#000000' | Color of ranges text |
rangesTextStyle | object | { fontSize: 12 } | Ranges text styling |
showArcRanges | bool | false | Show/hide arc ranges |
middleContentContainerStyle | object | {} | Extra styling for the middle content container |
capInnerColor | string | '#28E037' | Cap's inner color |
capOuterColor | string | '#FFFFFF' | Cap's outer color |
children | function | Pass a function as a child. It receives metaData with the last filled segment's data as an argument. From there you can extract data object. See example above. | |
MIT
FAQs
React native progress bar
The npm package react-native-segmented-arc receives a total of 0 weekly downloads. As such, react-native-segmented-arc popularity was classified as not popular.
We found that react-native-segmented-arc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.