Skip to content
Lists

Breakdown card

A breakdown with the panel around it: dimension tabs, two value columns, a faded overflow row and a hover toolbar.

VisitorsTotal
  • US19%7481,753
  • GB19%7461,750
  • DE18%7001,640
  • ES16%6231,460
  • BR15%5831,367
  • FR13%5231,226

Props

PropertyTypeDefaultDescription
rowsBreakdownCardRow[]{ key, label?, value, secondary?, icon? }. secondary feeds the second value column; icon is any node — a flag, a favicon, a provider glyph.
titlestringHeader text. Ignored when tabs is given — the tabs are the header.
tabsBreakdownCardTab[]{ id, label } per dimension, rendered as a tablist. The host owns the state.
activeTabstringSelected tab id. Defaults to the first tab.
onTabChange(id: string) => voidFired on tab selection.
valueLabelstring"Visitors"Right-aligned heading for the value column.
secondaryLabelstringHeading for the second value column. Omit to hide the column entirely.
display"value" | "share" | "both""value"value prints the number, share its percentage, both prints each — a percentage alone is the classic dashboard ambiguity.
variant"bars" | "split" | "plain" | "heat""bars"bars puts the magnitude behind the label. split moves it to its own track underneath. plain drops it. heat tints the whole row instead of measuring it, which survives a narrow column that a bar cannot.
fadeLastbooleanfalseFades the last row — the honest signal that the list is truncated, rather than a hard cut that reads as the end of the data.
onExpand() => voidAdds the expand affordance under the rows.
expandLabelstring"Show all"Text on the expand control.
actionsReactNodeToolbar revealed on hover or keyboard focus, so row actions do not compete with the data while you read it.
emptyLabelstring"No breakdown data."Shown when rows is empty.
classNamestringOuter wrapper.