KQ-639 · PORTFOLIO/PULSE

Portfolio Pulse

A whole book in one beat. Each tick rolls the total's digit columns one face on snap in the direction the money moved, extends the trace with a segment that draws on flick, and fires the beat dot — a ring that expands and fades on a tween over a dot landing back from 1.4× on flick — while a full window slides left by one pitch on glide from a motion value. After quietMs of no change the beat stills and one polite sentence is announced, never one per tick.

KQ-639 · PORTFOLIO/PULSE
Basinworks · aggregate bookBasinworks
Waiting1 / 36 marks
$148,000, level 0.00 percent on the open

Book $148,000 · 0 ticks · flat · beat held

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/portfolio-pulse

Props

value
number
default
The book's mark. A new value rolls the total, extends the trace and fires the beat.
open
number
default
Session open — the basis for the change chip.
label
React.ReactNode
default "Book"
Visible heading on the card.
venue
string
default
Quiet mono line opposite the heading.
format
(value: number) => string
default USD, 0dp
Formats the total and the change.
points
number
default 36
Length of the trail window; older marks fall off the left.
quietMs
number
default 1600
Quiet after which the beat stills and the sentence is announced.
onTick
(value: number, direction: "up" | "down") => void
default
Fires from the effect that observed the committed tick, never from a render.