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