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.