CLI previewInstall commands shown on this site are not released yet.

DocsChartsCore charts

DonutChart

React example follows below.
ts
import { DonutChart } from "@grassroot/charts-react";
const donutData = [
{ label: "API", value: 42, color: "var(--accent)" },
{ label: "Web", value: 28, color: "var(--vs-success)" },
{ label: "Mobile", value: 18, color: "var(--vs-warning)" },
{ label: "Other", value: 12, color: "var(--vs-info)" },
];
<DonutChart animation={{ durationMs: 560, staggerMs: 44 }} centerLabel="2.4M" centerSub="REQUESTS" data={donutData} />
ts
<script setup lang="ts">
import { DonutChart } from "@grassroot/charts-vue";
const donutData = [
{ label: "API", value: 42, color: "var(--accent)" },
{ label: "Web", value: 28, color: "var(--vs-success)" },
{ label: "Mobile", value: 18, color: "var(--vs-warning)" },
{ label: "Other", value: 12, color: "var(--vs-info)" },
];
</script>
<template>
<DonutChart :animation='{ durationMs: 560, staggerMs: 44 }' centerLabel="2.4M" centerSub="REQUESTS" :data='donutData' />
</template>
ts
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootDonutChart } from "@grassroot/charts-angular";
@Component({
selector: "app-donut-chart-chart-demo",
standalone: true,
imports: [GrassrootDonutChart],
changeDetection: ChangeDetectionStrategy.OnPush,
template: `<grassroot-donut-chart [animation]='{ durationMs: 560, staggerMs: 44 }' centerLabel="2.4M" centerSub="REQUESTS" [data]='donutData' />`,
})
export class DonutChartDemoComponent {
readonly donutData = [
{ label: "API", value: 42, color: "var(--accent)" },
{ label: "Web", value: 28, color: "var(--vs-success)" },
{ label: "Mobile", value: 18, color: "var(--vs-warning)" },
{ label: "Other", value: 12, color: "var(--vs-info)" },
];
}
export default DonutChartDemoComponent;
ts
<script lang="ts">
import { DonutChart } from "@grassroot/charts-svelte";
const donutData = [
{ label: "API", value: 42, color: "var(--accent)" },
{ label: "Web", value: 28, color: "var(--vs-success)" },
{ label: "Mobile", value: 18, color: "var(--vs-warning)" },
{ label: "Other", value: 12, color: "var(--vs-info)" },
];
</script>
<DonutChart animation={{ durationMs: 560, staggerMs: 44 }} centerLabel="2.4M" centerSub="REQUESTS" data={donutData} />
ts
/** @jsxImportSource solid-js */
import { DonutChart } from "@grassroot/charts-solid";
const donutData = [
{ label: "API", value: 42, color: "var(--accent)" },
{ label: "Web", value: 28, color: "var(--vs-success)" },
{ label: "Mobile", value: 18, color: "var(--vs-warning)" },
{ label: "Other", value: 12, color: "var(--vs-info)" },
];
export default function DonutChartDemo() {
return <DonutChart animation={{ durationMs: 560, staggerMs: 44 }} centerLabel="2.4M" centerSub="REQUESTS" data={donutData} />;
}

Installation

bash
pnpm dlx grassroot add chart/donut-chart
bash
npx grassroot@latest add chart/donut-chart
bash
yarn dlx grassroot add chart/donut-chart
bash
bunx grassroot add chart/donut-chart

API Reference

DonutChartProps
PropTypeDefault
datarequiredChartDonutDatum[]
centerLabelstring | undefined
centerSubstring | undefined