KQ-694 · RISK/HOLD

Risk Hold

A payment held for review. The notice beneath the row drains a review ring across the window and releases at zero, or sooner when a reviewer presses Release: the notice slides away on the exit ease while its height closes, and the row's chip turns to Sent with a tick drawn on flick. Escalate stops the ring and turns the notice amber by colour alone; the notice itself arrives on glide, and both controls are real buttons one Tab apart.

KQ-694 · RISK/HOLD
Waylight Pay1,240.00BSNto Fernworks Ltd
Held
0:08
Held for reviewNew payee. Releases when the window closes.
Held for review. Releases in 8 seconds unless escalated.

Held · review 8s

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/risk-hold

Props

status / defaultStatus
"held" | "released" | "escalated"
default "held"
Controlled or initial state of the hold.
onStatusChange
(status, cause: "reviewer" | "timer") => void
default —
Fires from the press, or from the ring running out with cause "timer".
amount
number
default —
The held sum, in symbol.
symbol
string
default —
Asset code shown after the amount.
payee
string
default —
Who the payment goes to.
reason
string
default "New payee"
Why it was held.
format
(value: number) => string
default —
Formats the amount; defaults to a two-decimal number format.
reviewMs
number
default 10000
The review window; the ring drains across it and releases at zero.
label
ReactNode
default —
Visible heading; omit it and pass aria-label.