KQ-654 · TX/FLOW

Tx Flow

One transaction, drawn: every input curves into a hub and every output curves out of it, each edge weighted by that leg's share of the total. Value marches along the edges as a dashed stroke on a linear tween, and only while flowing is set, the tab is visible, and motion is welcome. Pointing at an edge or its row lights both and reads the address and amount, thickening the stroke on glide; rows carry one roving tabindex across both columns where Up and Down move within a column, Left and Right cross between them, Enter pins a leg and Escape releases it.

KQ-654 · TX/FLOW
Basinworks payoutBSN
Basinworks payout balanced: in 1.2400 BSN, out 1.2360 BSN, fee 0.0040 BSN.

Legs 5 · flowing

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/tx-flow

Props

inputs
TxLeg[]
default
Addresses the transaction spends from, top to bottom.
outputs
TxLeg[]
default
Addresses it pays, top to bottom; one may carry kind: "fee".
format
(value: number) => string
default Intl.NumberFormat, 4 decimals
Formats every amount on the diagram.
asset
string
default "BSN"
Asset ticker printed after amounts.
value / defaultValue
string | null
default null
Controlled or initial pinned leg id.
onValueChange
(id: string | null) => void
default
Fires from the press or Escape that pinned or released a leg.
onHoverChange
(id: string | null) => void
default
Fires from the pointer or focus that lit a leg.
flowing
boolean
default true
Marches the dashes; still gated by reduced motion and tab visibility.
label
string
default "Transaction"
Names the diagram for assistive technology.