- Prop
series- Type
readonly ChartSeriesDatum[]- Default
- —
- Requirement
- required
- Description
- —
Docs Charts Cartesian & statistical
StackedAreaChart
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- surface
- —
- marks
- —
- size
- —
- value
- —
ts
import { useState } from "react";const stackedAreaChartFixture = { id: "stacked-area-chart", series: [ { name: "Live chat", values: [18, 24, 31, 42, 58, 76, 91, 108, 118, 132, 126, 114, 104, 92, 76, 54] }, { name: "Email", values: [44, 48, 52, 58, 66, 74, 83, 91, 96, 109, 116, 110, 102, 96, 88, 72] }, { name: "Phone", values: [22, 24, 27, 31, 38, 46, 57, 61, 63, 72, 69, 66, 61, 56, 49, 38] }, { name: "Social", values: [6, 8, 10, 14, 17, 21, 26, 30, 33, 41, 38, 36, 32, 28, 24, 16] }, { name: "In-app", values: [9, 11, 13, 16, 21, 28, 34, 39, 44, 48, 46, 42, 37, 31, 24, 15] }, ], labels: [ "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", ], ariaLabel: "Customer support conversations by channel and hour, 10 July 2026", tooltip: true, legend: true,}; import { StackedAreaChart } from "@grassroot/charts-react";import { VariantToggle } from "./VariantToggle"; const OFFSETS = [ { value: "zero" as const, label: "Stacked" }, { value: "wiggle" as const, label: "Streamgraph" },]; export default function StackedAreaChartDemo() { const [offset, setOffset] = useState<(typeof OFFSETS)[number]["value"]>("zero"); return ( <div> <VariantToggle label="Baseline" options={OFFSETS} value={offset} onChange={setOffset} /> <StackedAreaChart {...stackedAreaChartFixture} offset={offset} /> </div> );}- surface
- —
- marks
- —
- size
- —
- value
- —
ts
<script setup lang="ts">import { ref } from "vue";const stackedAreaChartFixture = { id: "stacked-area-chart", series: [ { name: "Live chat", values: [18, 24, 31, 42, 58, 76, 91, 108, 118, 132, 126, 114, 104, 92, 76, 54] }, { name: "Email", values: [44, 48, 52, 58, 66, 74, 83, 91, 96, 109, 116, 110, 102, 96, 88, 72] }, { name: "Phone", values: [22, 24, 27, 31, 38, 46, 57, 61, 63, 72, 69, 66, 61, 56, 49, 38] }, { name: "Social", values: [6, 8, 10, 14, 17, 21, 26, 30, 33, 41, 38, 36, 32, 28, 24, 16] }, { name: "In-app", values: [9, 11, 13, 16, 21, 28, 34, 39, 44, 48, 46, 42, 37, 31, 24, 15] }, ], labels: [ "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", ], ariaLabel: "Customer support conversations by channel and hour, 10 July 2026", tooltip: true, legend: true,}; import { StackedAreaChart } from "@grassroot/charts-vue";import VariantToggle from "./VariantToggle.vue"; const offset = ref<"zero" | "wiggle">("zero");const offsets = [ { value: "zero", label: "Stacked" }, { value: "wiggle", label: "Streamgraph" },];</script><template> <div> <VariantToggle v-model="offset" label="Baseline" :options="offsets" /><StackedAreaChart v-bind="stackedAreaChartFixture" :offset="offset" /> </div></template>- surface
- —
- marks
- —
- size
- —
- value
- —
ts
import { ChangeDetectionStrategy, Component, signal } from "@angular/core";const stackedAreaChartFixture = { id: "stacked-area-chart", series: [ { name: "Live chat", values: [18, 24, 31, 42, 58, 76, 91, 108, 118, 132, 126, 114, 104, 92, 76, 54] }, { name: "Email", values: [44, 48, 52, 58, 66, 74, 83, 91, 96, 109, 116, 110, 102, 96, 88, 72] }, { name: "Phone", values: [22, 24, 27, 31, 38, 46, 57, 61, 63, 72, 69, 66, 61, 56, 49, 38] }, { name: "Social", values: [6, 8, 10, 14, 17, 21, 26, 30, 33, 41, 38, 36, 32, 28, 24, 16] }, { name: "In-app", values: [9, 11, 13, 16, 21, 28, 34, 39, 44, 48, 46, 42, 37, 31, 24, 15] }, ], labels: [ "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", ], ariaLabel: "Customer support conversations by channel and hour, 10 July 2026", tooltip: true, legend: true,}; import { GrassrootStackedAreaChart } from "@grassroot/charts-angular";import { VariantToggleComponent } from "./VariantToggle.component";@Component({ selector: "app-stacked-area-chart-chart-demo", standalone: true, imports: [GrassrootStackedAreaChart, VariantToggleComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `<app-variant-toggle label="Baseline" [options]="offsets" [value]="offset()" (valueChange)="setOffset($event)" /><grassroot-stacked-area-chart [series]="fixture.series" [labels]="fixture.labels" [ariaLabel]="fixture.ariaLabel" [tooltip]="fixture.tooltip" [legend]="fixture.legend" [offset]="offset()" />`,})export class StackedAreaChartDemoComponent { readonly fixture = stackedAreaChartFixture; readonly offset = signal<"zero" | "wiggle">("zero"); readonly offsets = [ { value: "zero", label: "Stacked" }, { value: "wiggle", label: "Streamgraph" }, ] as const; setOffset(value: string): void { if (value === "zero" || value === "wiggle") this.offset.set(value); }}export default StackedAreaChartDemoComponent;- surface
- —
- marks
- —
- size
- —
- value
- —
ts
<script lang="ts"> const stackedAreaChartFixture = { id: "stacked-area-chart", series: [ { name: "Live chat", values: [18, 24, 31, 42, 58, 76, 91, 108, 118, 132, 126, 114, 104, 92, 76, 54] }, { name: "Email", values: [44, 48, 52, 58, 66, 74, 83, 91, 96, 109, 116, 110, 102, 96, 88, 72] }, { name: "Phone", values: [22, 24, 27, 31, 38, 46, 57, 61, 63, 72, 69, 66, 61, 56, 49, 38] }, { name: "Social", values: [6, 8, 10, 14, 17, 21, 26, 30, 33, 41, 38, 36, 32, 28, 24, 16] }, { name: "In-app", values: [9, 11, 13, 16, 21, 28, 34, 39, 44, 48, 46, 42, 37, 31, 24, 15] }, ], labels: [ "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", ], ariaLabel: "Customer support conversations by channel and hour, 10 July 2026", tooltip: true, legend: true, }; import { StackedAreaChart } from "@grassroot/charts-svelte"; import VariantToggle from "./VariantToggle.svelte"; let offset = $state<"zero" | "wiggle">("zero"); const offsets = [ { value: "zero", label: "Stacked" }, { value: "wiggle", label: "Streamgraph" }, ];</script> <div> <VariantToggle label="Baseline" options={offsets} value={offset} onchange={(value) => (offset = value as typeof offset)} /> <StackedAreaChart {...stackedAreaChartFixture} {offset} /></div>- surface
- —
- marks
- —
- size
- —
- value
- —
ts
/** @jsxImportSource solid-js */import { createSignal } from "solid-js";const stackedAreaChartFixture = { id: "stacked-area-chart", series: [ { name: "Live chat", values: [18, 24, 31, 42, 58, 76, 91, 108, 118, 132, 126, 114, 104, 92, 76, 54] }, { name: "Email", values: [44, 48, 52, 58, 66, 74, 83, 91, 96, 109, 116, 110, 102, 96, 88, 72] }, { name: "Phone", values: [22, 24, 27, 31, 38, 46, 57, 61, 63, 72, 69, 66, 61, 56, 49, 38] }, { name: "Social", values: [6, 8, 10, 14, 17, 21, 26, 30, 33, 41, 38, 36, 32, 28, 24, 16] }, { name: "In-app", values: [9, 11, 13, 16, 21, 28, 34, 39, 44, 48, 46, 42, 37, 31, 24, 15] }, ], labels: [ "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", ], ariaLabel: "Customer support conversations by channel and hour, 10 July 2026", tooltip: true, legend: true,}; import { StackedAreaChart } from "@grassroot/charts-solid";import { VariantToggle } from "./VariantToggle";export default function StackedAreaChartDemo() { const [offset, setOffset] = createSignal<"zero" | "wiggle">("zero"); const offsets = [ { value: "zero", label: "Stacked" }, { value: "wiggle", label: "Streamgraph" }, ]; return ( <div> <VariantToggle label="Baseline" options={offsets} value={offset} onChange={(value) => setOffset(value as "zero" | "wiggle")} /> <StackedAreaChart {...stackedAreaChartFixture} offset={offset()} /> </div> );}Installation
API Reference
Import
import { useState } from "react";
import { StackedAreaChart } from "@grassroot/charts-react";
import { VariantToggle } from "./VariantToggle";
Props
Prop
Type
Default
Requirement
Description
seriesreadonly ChartSeriesDatum[]—
required
—
labelsreadonly string[] | undefined—
optional
—
offsetStackedAreaOffset | undefined—
optional
—
legendboolean | import("@grassroot/chart-spec").LegendConfig | undefined—
optional
—
tooltipboolean | import("./base").ExpandedChartTooltipConfig<unknown> | undefined—
optional
—
animationboolean | import("./base").ExpandedChartAnimationConfig | undefined—
optional
—
onHiddenSeriesChange((ids: readonly string[]) => void) | undefined—
optional
—
onActiveDatumChange((id: string | null) => void) | undefined—
optional
—
rendererChartRenderer | undefined—
optional
—
classNamestring | undefined—
optional
—
themeimport("@grassroot/theme").PartialChartTheme | undefined—
optional
—
titlestring | undefined—
optional
—
descriptionstring | undefined—
optional
—
ariaLabelstring | undefined—
optional
—
- Prop
labels- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
offset- Type
StackedAreaOffset | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
legend- Type
boolean | import("@grassroot/chart-spec").LegendConfig | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
tooltip- Type
boolean | import("./base").ExpandedChartTooltipConfig<unknown> | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
animation- Type
boolean | import("./base").ExpandedChartAnimationConfig | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
onHiddenSeriesChange- Type
((ids: readonly string[]) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
onActiveDatumChange- Type
((id: string | null) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
renderer- Type
ChartRenderer | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
theme- Type
import("@grassroot/theme").PartialChartTheme | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
title- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
ariaLabel- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
keyboardNavigation- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
width- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
height- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
gpuBackend- Type
ChartGpuBackend | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
rendererStrategy- Type
Partial<import("@grassroot/core").ChartRendererStrategy> | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
renderPlanMode- Type
"svg" | "host" | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
showGrid- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
interactive- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- Gates every pointer/keyboard interaction the shell owns (hit-test on pointer move, focus-to-first, arrow navigation, Escape) and, with `keyboardNavigation`, whether the plot surface is focusable at all.
- Prop
hiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
defaultHiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
activeDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
defaultActiveDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Description
- Uncontrolled initial value for the `activeDatum`/`onActiveDatumChange` pair.
- Prop
speed- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- Playback-speed multiplier for entrance/ambient motion.
- Prop
morphDurationMs- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- How long a dataset change tweens, in milliseconds.
- Prop
replayToken- Type
string | number | undefined- Default
- —
- Requirement
- optional
- Description
- Changing this value replays the entrance animation.
Events
| Event | Payload |
|---|---|
onHiddenSeriesChange | ((ids: readonly string[]) => void) | undefined |
onActiveDatumChange | ((id: string | null) => void) | undefined |
Content regions
childrendataSummary
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { ref } from "vue";
import { StackedAreaChart } from "@grassroot/charts-vue";
import VariantToggle from "./VariantToggle.vue";
Props
Prop
Type
Default
Requirement
classNamestring | undefined—
optional
gpuBackend"auto" | "webgpu" | "webgl2" | undefined—
optional
widthnumber | undefined—
optional
heightnumber | undefined—
optional
rendererChartRenderer | undefined—
optional
rendererStrategyPartial<ChartRendererStrategy> | undefined—
optional
renderPlanMode"svg" | "host" | undefined"host"optional
showGridboolean | undefined—
optional
legendboolean | LegendConfig | undefinedfalseoptional
tooltipboolean | TooltipBehaviorConfig | undefinedtrueoptional
animationChartAnimationInput | undefined—
optional
interactiveboolean | undefinedtrueoptional
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
"auto" | "webgpu" | "webgl2" | undefined- Default
- —
- Requirement
- optional
- Prop
width- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
height- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer | undefined- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy> | undefined- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host" | undefined- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig | undefined- Default
false- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig | undefined- Default
true- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput | undefined- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean | undefined- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean | undefined- Default
true- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[] | undefined- Default
() => []- Requirement
- optional
- Prop
activeDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Prop
speed- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number | undefined- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme | undefined- Default
- —
- Requirement
- optional
- Prop
title- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
series- Type
readonly StackedAreaSeriesDatum[]- Default
- —
- Requirement
- required
- Prop
labels- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Prop
offset- Type
StackedAreaOffset | undefined- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
hiddenSeriesChange | [ids: readonly string[]] |
activeDatumChange | [id: string | null] |
Content regions
dataSummarydefault
Import
import { ChangeDetectionStrategy, Component, signal } from "@angular/core";
import { GrassrootStackedAreaChart } from "@grassroot/charts-angular";
import { VariantToggleComponent } from "./VariantToggle.component";
Props
Prop
Type
Default
Requirement
rendererChartRenderer—
optional
gpuBackendChartGpuBackend—
optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
ariaLabelstring—
optional
titlestring—
optional
descriptionstring—
optional
themePartialChartTheme—
optional
animationChartAnimationInput—
optional
interactivebooleantrueoptional
tooltipboolean | TooltipBehaviorConfigtrueoptional
legendboolean | LegendConfig—
optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
true- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
true- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
- —
- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
[]- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
null- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
series- Type
readonly StackedAreaSeriesDatum[]- Default
- —
- Requirement
- required
- Prop
labels- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
false- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
- Prop
offset- Type
StackedAreaOffset- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
activeDatumChange | string | null |
hiddenSeriesChange | readonly string[] |
Content regions
dataSummarydefault
Import
import { StackedAreaChart } from "@grassroot/charts-svelte";
import VariantToggle from "./VariantToggle.svelte";
Props
Prop
Type
Default
Requirement
seriesreadonly StackedAreaSeriesDatum[]—
required
labelsreadonly string[]—
optional
offsetStackedAreaOffset—
optional
onHiddenSeriesChange(ids: readonly string[]) => void—
optional
onActiveDatumChange(id: string | null) => void—
optional
classstring—
optional
stylestring—
optional
widthnumber—
optional
heightnumber—
optional
rendererChartRenderer—
optional
gpuBackendChartGpuBackend—
optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
showGridboolean—
optional
- Prop
series- Type
readonly StackedAreaSeriesDatum[]- Default
- —
- Requirement
- required
- Prop
labels- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
offset- Type
StackedAreaOffset- Default
- —
- Requirement
- optional
- Prop
onHiddenSeriesChange- Type
(ids: readonly string[]) => void- Default
- —
- Requirement
- optional
- Prop
onActiveDatumChange- Type
(id: string | null) => void- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
- Prop
style- Type
string- Default
- —
- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
false- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
true- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
true- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
null- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onHiddenSeriesChange | (ids: readonly string[]) => void |
onActiveDatumChange | (id: string | null) => void |
Content regions
childrendataSummary
Import
import { createSignal } from "solid-js";
import { StackedAreaChart } from "@grassroot/charts-solid";
import { VariantToggle } from "./VariantToggle";
Props
Prop
Type
Default
Requirement
seriesreadonly StackedAreaSeriesDatum[]—
required
labelsreadonly string[]—
optional
offsetStackedAreaOffset—
optional
onActiveDatumChange(id: string | null) => void—
optional
onHiddenSeriesChange(ids: readonly string[]) => void—
optional
classstring—
optional
styleJSX.CSSProperties—
optional
widthnumber—
optional
heightnumber—
optional
rendererChartRenderer—
optional
gpuBackendChartGpuBackend"auto"optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
showGridboolean—
optional
- Prop
series- Type
readonly StackedAreaSeriesDatum[]- Default
- —
- Requirement
- required
- Prop
labels- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
offset- Type
StackedAreaOffset- Default
- —
- Requirement
- optional
- Prop
onActiveDatumChange- Type
(id: string | null) => void- Default
- —
- Requirement
- optional
- Prop
onHiddenSeriesChange- Type
(ids: readonly string[]) => void- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
- Prop
style- Type
JSX.CSSProperties- Default
- —
- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
"auto"- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
- —
- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
- —
- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
- —
- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
- —
- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onActiveDatumChange | (id: string | null) => void |
onHiddenSeriesChange | (ids: readonly string[]) => void |
Content regions
childrendataSummary