Charts & Stats
v1.0.0Added in 1.0.0
A conversion funnel: each step's count, its conversion and the drop-off between steps, as aligned bars or a tapered funnel shape.
The bars grow in one step after the other the first time the chart scrolls into view while the counts tick up, and each drop-off chip fades in after its row; when the numbers change, the bars glide to their new length. Every number is printed on the row (step, count, conversion, and between rows the drop-off with how many were lost), so there is nothing to hover. When you pass onValueChange or onStepClick the rows become buttons: click or tap one to select it (the others fade to 55%), click it again to clear. With the keyboard the rows are one tab stop: Up / Down (or Left / Right) move between them, Home / End jump to the first and last, Enter or Space select and Escape clears. In the funnel variant the segments are revealed top to bottom (left to right when horizontal); hover a step, or tap it on a phone, to highlight it and read its value, conversion and drop-off in a readout, drag a finger along the funnel to scrub, tap outside to clear. Tab to the funnel and use the arrow keys, Home / End and PageUp / PageDown to walk the steps, Enter to select and Escape to clear; a live region reads each step. A horizontal funnel stacks top to bottom in containers narrower than 480px.
npx wingo-ui@latest add funnel-chartPro item: the CLI needs a Pro account. See plans
Acme CRM · from lead to signed contract
| Step | Value | Conversion | Drop-off |
|---|---|---|---|
| Leads | 1,240 | 100% | – |
| Qualified | 620 | 50% | 50% drop-off, 620 lost |
| Proposal sent | 248 | 20% | 60% drop-off, 372 lost |
| Negotiation | 96 | 7.7% | 61.3% drop-off, 152 lost |
| Won | 41 | 3.3% | 57.3% drop-off, 55 lost |
selected: none · tooltip: on · grow-in: on