Docs Charts Core charts

MetricCard

React example follows below.
ts
import { MetricCard } from "@grassroot/charts-react";
export default function MetricCardDemo() {
return (
<div>
<MetricCard
animation={{ durationMs: 560 }}
label="Checkout conversion"
value={4.82}
unit="%"
goodDirection="up"
color="var(--vs-success)"
paused />
</div>
);
}
ts
<script setup lang="ts">
import { MetricCard } from "@grassroot/charts-vue";
</script>
<template>
<div>
<MetricCard
:animation="{ durationMs: 560 }"
label="Checkout conversion"
:value="4.82"
unit="%"
goodDirection="up"
color="var(--vs-success)"
paused />
</div>
</template>
ts
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootMetricCard } from "@grassroot/charts-angular";
@Component({
selector: "app-metric-card-chart-demo",
standalone: true,
imports: [GrassrootMetricCard],
changeDetection: ChangeDetectionStrategy.OnPush,
host: { style: "display:block" },
template: `<div>
<grassroot-metric-card
style="display:contents"
[animation]="{ durationMs: 560 }"
label="Checkout conversion"
[value]="4.82"
unit="%"
goodDirection="up"
color="var(--vs-success)"
[paused]="true"
/>
</div>`,
})
export class MetricCardDemoComponent {
}
export default MetricCardDemoComponent;
ts
<script lang="ts">
import { MetricCard } from "@grassroot/charts-svelte";
</script>
<div>
<MetricCard
animation={{ durationMs: 560 }}
label="Checkout conversion"
value={4.82}
unit="%"
goodDirection="up"
color="var(--vs-success)"
paused />
</div>
ts
/** @jsxImportSource solid-js */
import { MetricCard } from "@grassroot/charts-solid";
export default function MetricCardDemo() {
return (
<div>
<MetricCard
animation={{ durationMs: 560 }}
label="Checkout conversion"
value={4.82}
unit="%"
goodDirection="up"
color="var(--vs-success)"
paused />
</div>
);
}

Installation

API Reference

Import

import { MetricCard } from "@grassroot/charts-react";

Props

Prop
Type
Default
Requirement
label
string
required
value
number
required
unit
string | undefined
optional
color
string | undefined
optional
goodDirection
"up" | "down" | undefined
optional
format
((value: number) => string) | undefined
optional
sample
((previous: number) => number) | undefined
optional
points
number | undefined
optional
intervalMs
number | undefined
optional
paused
boolean | undefined
optional
renderer
ChartRenderer | undefined
optional
className
string | undefined
optional
theme
import("@grassroot/theme").PartialChartTheme | undefined
optional
animation
import("@grassroot/theme").ChartAnimationInput | undefined
optional
Prop
label
Type
string
Default
Requirement
required
Prop
value
Type
number
Default
Requirement
required
Prop
unit
Type
string | undefined
Default
Requirement
optional
Prop
color
Type
string | undefined
Default
Requirement
optional
Prop
goodDirection
Type
"up" | "down" | undefined
Default
Requirement
optional
Prop
format
Type
((value: number) => string) | undefined
Default
Requirement
optional
Prop
sample
Type
((previous: number) => number) | undefined
Default
Requirement
optional
Prop
points
Type
number | undefined
Default
Requirement
optional
Prop
intervalMs
Type
number | undefined
Default
Requirement
optional
Prop
paused
Type
boolean | undefined
Default
Requirement
optional
Prop
renderer
Type
ChartRenderer | undefined
Default
Requirement
optional
Prop
className
Type
string | undefined
Default
Requirement
optional
Prop
theme
Type
import("@grassroot/theme").PartialChartTheme | undefined
Default
Requirement
optional
Prop
animation
Type
import("@grassroot/theme").ChartAnimationInput | 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
keyboardNavigation
Type
boolean | undefined
Default
Requirement
optional

Content regions

  • children
  • dataSummary

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.

Import

import { MetricCard } from "@grassroot/charts-vue";

Props

Prop
Type
Default
Requirement
value
number
required
label
string
required
display
string | undefined
optional
color
string | undefined
optional
unit
string | undefined
optional
goodDirection
"up" | "down" | undefined
"up"
optional
format
((value: number) => string) | undefined
optional
sample
((previous: number) => number) | undefined
optional
points
number | undefined
22
optional
intervalMs
number | undefined
1250
optional
paused
boolean | undefined
false
optional
ariaLabel
string | undefined
optional
renderer
ChartRenderer | undefined
optional
theme
PartialChartTheme | undefined
optional
Prop
value
Type
number
Default
Requirement
required
Prop
label
Type
string
Default
Requirement
required
Prop
display
Type
string | undefined
Default
Requirement
optional
Prop
color
Type
string | undefined
Default
Requirement
optional
Prop
unit
Type
string | undefined
Default
Requirement
optional
Prop
goodDirection
Type
"up" | "down" | undefined
Default
"up"
Requirement
optional
Prop
format
Type
((value: number) => string) | undefined
Default
Requirement
optional
Prop
sample
Type
((previous: number) => number) | undefined
Default
Requirement
optional
Prop
points
Type
number | undefined
Default
22
Requirement
optional
Prop
intervalMs
Type
number | undefined
Default
1250
Requirement
optional
Prop
paused
Type
boolean | undefined
Default
false
Requirement
optional
Prop
ariaLabel
Type
string | undefined
Default
Requirement
optional
Prop
renderer
Type
ChartRenderer | undefined
Default
Requirement
optional
Prop
theme
Type
PartialChartTheme | undefined
Default
Requirement
optional
Prop
animation
Type
ChartAnimationInput | undefined
Default
undefined
Requirement
optional
Prop
title
Type
string | undefined
Default
Requirement
optional
Prop
description
Type
string | undefined
Default
Requirement
optional
Prop
keyboardNavigation
Type
boolean | undefined
Default
Requirement
optional
Prop
className
Type
string | undefined
Default
Requirement
optional

Content regions

  • dataSummary
  • default

Import

import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootMetricCard } from "@grassroot/charts-angular";

Props

Prop
Type
Default
Requirement
value
number
required
label
string
required
display
string
optional
color
string
optional
unit
string
optional
goodDirection
"up" | "down"
"up"
optional
format
(value: number) => string
optional
sample
(previous: number) => number
optional
points
number
22
optional
intervalMs
number
1250
optional
paused
boolean
false
optional
ariaLabel
string
optional
renderer
ChartRenderer
optional
theme
PartialChartTheme
optional
Prop
value
Type
number
Default
Requirement
required
Prop
label
Type
string
Default
Requirement
required
Prop
display
Type
string
Default
Requirement
optional
Prop
color
Type
string
Default
Requirement
optional
Prop
unit
Type
string
Default
Requirement
optional
Prop
goodDirection
Type
"up" | "down"
Default
"up"
Requirement
optional
Prop
format
Type
(value: number) => string
Default
Requirement
optional
Prop
sample
Type
(previous: number) => number
Default
Requirement
optional
Prop
points
Type
number
Default
22
Requirement
optional
Prop
intervalMs
Type
number
Default
1250
Requirement
optional
Prop
paused
Type
boolean
Default
false
Requirement
optional
Prop
ariaLabel
Type
string
Default
Requirement
optional
Prop
renderer
Type
ChartRenderer
Default
Requirement
optional
Prop
theme
Type
PartialChartTheme
Default
Requirement
optional
Prop
animation
Type
ChartAnimationInput
Default
Requirement
optional
Prop
title
Type
string
Default
Requirement
optional
Prop
description
Type
string
Default
Requirement
optional
Prop
keyboardNavigation
Type
boolean
Default
Requirement
optional
Prop
className
Type
string
Default
Requirement
optional

Content regions

  • dataSummary
  • default

Import

import { MetricCard } from "@grassroot/charts-svelte";

Props

Prop
Type
Default
Requirement
value
number
required
label
string
required
display
string
optional
color
string
optional
unit
string
optional
goodDirection
"up" | "down"
"up"
optional
format
(value: number) => string
optional
sample
(previous: number) => number
optional
points
number
22
optional
intervalMs
number
1250
optional
paused
boolean
false
optional
ariaLabel
string
optional
renderer
ChartRenderer
optional
theme
PartialChartTheme
optional
Prop
value
Type
number
Default
Requirement
required
Prop
label
Type
string
Default
Requirement
required
Prop
display
Type
string
Default
Requirement
optional
Prop
color
Type
string
Default
Requirement
optional
Prop
unit
Type
string
Default
Requirement
optional
Prop
goodDirection
Type
"up" | "down"
Default
"up"
Requirement
optional
Prop
format
Type
(value: number) => string
Default
Requirement
optional
Prop
sample
Type
(previous: number) => number
Default
Requirement
optional
Prop
points
Type
number
Default
22
Requirement
optional
Prop
intervalMs
Type
number
Default
1250
Requirement
optional
Prop
paused
Type
boolean
Default
false
Requirement
optional
Prop
ariaLabel
Type
string
Default
Requirement
optional
Prop
renderer
Type
ChartRenderer
Default
Requirement
optional
Prop
theme
Type
PartialChartTheme
Default
Requirement
optional
Prop
animation
Type
ChartAnimationInput
Default
Requirement
optional
Prop
title
Type
string
Default
Requirement
optional
Prop
description
Type
string
Default
Requirement
optional
Prop
keyboardNavigation
Type
boolean
Default
Requirement
optional
Prop
class
Type
string
Default
Requirement
optional

Content regions

  • children
  • dataSummary

Import

import { MetricCard } from "@grassroot/charts-solid";

Props

Prop
Type
Default
Requirement
value
number
required
label
string
required
display
string
optional
color
string
optional
unit
string
""
optional
goodDirection
"up" | "down"
"up"
optional
format
(value: number) => string
optional
sample
(previous: number) => number
optional
points
number
22
optional
intervalMs
number
1250
optional
paused
boolean
false
optional
class
string
optional
ariaLabel
string
optional
renderer
ChartRenderer
"auto"
optional
Prop
value
Type
number
Default
Requirement
required
Prop
label
Type
string
Default
Requirement
required
Prop
display
Type
string
Default
Requirement
optional
Prop
color
Type
string
Default
Requirement
optional
Prop
unit
Type
string
Default
""
Requirement
optional
Prop
goodDirection
Type
"up" | "down"
Default
"up"
Requirement
optional
Prop
format
Type
(value: number) => string
Default
Requirement
optional
Prop
sample
Type
(previous: number) => number
Default
Requirement
optional
Prop
points
Type
number
Default
22
Requirement
optional
Prop
intervalMs
Type
number
Default
1250
Requirement
optional
Prop
paused
Type
boolean
Default
false
Requirement
optional
Prop
class
Type
string
Default
Requirement
optional
Prop
ariaLabel
Type
string
Default
Requirement
optional
Prop
renderer
Type
ChartRenderer
Default
"auto"
Requirement
optional
Prop
theme
Type
PartialChartTheme
Default
Requirement
optional
Prop
animation
Type
ChartAnimationInput
Default
Requirement
optional
Prop
title
Type
string
Default
Requirement
optional
Prop
description
Type
string
Default
Requirement
optional
Prop
keyboardNavigation
Type
boolean
Default
Requirement
optional

Content regions

  • children
  • dataSummary