pie-chart — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pie-chart (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Pie and donut chart using D3 pie layout. Supports exploded slices, rounded/spaced arcs, labels with connector lines, gradients, and custom label rendering.
import { PieChart, PieArcSeries, PieArc, PieArcLabel } from 'reaviz';| Prop | Type | Default | Description |
|---|---|---|---|
data | ChartShallowDataShape[] | [] | Chart data |
width | number | auto | Width in pixels |
height | number | auto | Height in pixels |
margins | Margins | 10 | Chart margins |
series | ReactElement<PieArcSeriesProps> | <PieArcSeries /> | Series component |
disabled | boolean | — | Disable the chart |
displayAllLabels | boolean | — | Show labels even when space is tight |
className | string | — | SVG CSS class |
containerClassName | string | — | Container div CSS class |
| Prop | Type | Default | Description | |
|---|---|---|---|---|
animated | boolean | true | Enable animations | |
colorScheme | ColorSchemeType | 'cybertron' | Color scheme name or function | |
doughnut | boolean | false | Render as donut (hollow center) | |
arcWidth | number | 0.25 | Arc thickness ratio (donut mode) | |
explode | boolean | false | Adjust outer radius proportionally to value | |
cornerRadius | number | 0 | Arc corner rounding | |
padAngle | number | 0 | Padding angle between arcs | |
padRadius | number | 0 | Padding radius between arcs | |
displayAllLabels | boolean | false | Show all labels regardless of space | |
arc | ReactElement<PieArcProps> | <PieArc /> | Arc element | |
label | `ReactElement<PieArcLabelProps> \ | null` | <PieArcLabel /> | Label element (null to hide) |
| Prop | Type | Default | Description | |
|---|---|---|---|---|
animated | boolean | true | Enable animations | |
cursor | string | 'initial' | CSS cursor on hover | |
disabled | boolean | false | Disable interactions | |
tooltip | `ReactElement<ChartTooltipProps> \ | null` | <ChartTooltip /> | Tooltip component |
gradient | `ReactElement<GradientProps> \ | null` | — | Gradient fill |
style | MotionStyle | — | Custom motion styles | |
onClick | (e: PieArcMouseEvent) => void | — | Click handler | |
onMouseEnter | (e: PieArcMouseEvent) => void | — | Mouse enter handler | |
onMouseLeave | (e: PieArcMouseEvent) => void | — | Mouse leave handler |
| Prop | Type | Default | Description |
|---|---|---|---|
format | (data) => ReactNode | — | Custom label formatter |
fontFill | string | '#8F979F' | Text color |
fontSize | number | 11 | Font size |
fontFamily | string | 'sans-serif' | Font family |
lineStroke | string | 'rgba(127,127,127,0.5)' | Connector line color |
padding | string | '.35em' | Label padding |
height | number | 11 | Label height |
const data = [
{ key: 'Phishing', data: 10 },
{ key: 'Malware', data: 8 },
{ key: 'DDoS', data: 5 },
{ key: 'Ransomware', data: 3 },
];
<PieChart
width={350}
height={250}
data={data}
/><PieChart
width={350}
height={250}
data={data}
series={<PieArcSeries doughnut={true} />}
/><PieChart
data={data}
series={
<PieArcSeries
doughnut={true}
cornerRadius={4}
padAngle={0.02}
padRadius={200}
/>
}
/><PieChart
data={data}
series={<PieArcSeries explode={true} />}
/>import { Gradient } from 'reaviz';
<PieChart
data={data}
series={
<PieArcSeries
arc={<PieArc gradient={<Gradient />} />}
/>
}
/><PieChart
data={data}
series={
<PieArcSeries
label={
<PieArcLabel
format={(d) => `${d.key}: ${d.data}`}
/>
}
/>
}
/><PieChart
data={data}
series={
<PieArcSeries
label={
<PieArcLabel
format={(d) => (
<tspan>
<tspan fontWeight="bold">{d.key}</tspan>
<tspan dx={5}>{d.data}</tspan>
</tspan>
)}
/>
}
/>
}
/><PieChart
data={data}
series={<PieArcSeries label={null} />}
/><PieChart
data={data}
displayAllLabels={true}
/><PieChart
data={data}
series={
<PieArcSeries
arc={
<PieArc
cursor="pointer"
onClick={({ value, nativeEvent }) => console.log(value)}
/>
}
/>
}
/><div style={{ position: 'relative' }}>
<PieChart
data={data}
series={<PieArcSeries doughnut={true} />}
/>
<div style={{
position: 'absolute',
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
}}>
<strong>Total: 26</strong>
</div>
</div><PieChart
data={data}
series={<PieArcSeries animated={false} />}
/>arcWidth controls donut hole size as a ratio (0-1) — smaller value = thicker ringexplode adjusts outer radius proportionally so larger slices extend furtherdisplayAllLabels forces labels to render even for very small slices~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.