KQ-626 · POSITION/CARD
Position Card
An open position that keeps score. The unrealised P&L rolls its digits on snap with each print while a tint washes behind the figure in the direction of the move, and a scaled bar under it runs from a fixed zero anchor — profit right toward the target tick, loss left down a shorter lane at the same dollars per pixel — both on glide. Closing is a slide whose knob rides a motion value, and the rail is a slider: arrows step, Home releases, End crosses the detent.
KQ-626 · POSITION/CARD
BSN
LongUnrealisedRealiseUnrealised profit and loss +$8.80, +0.92%
-$39.51Target 26.40
- Entry
- 23.86
- Size
- 40 units
- Value
- $963.20
Position in profit
BSN long · mark 24.08 · P&L +$8.80
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/position-card
Props
- symbol
- string
- default —
- Instrument code shown in the header.
- side
- "long" | "short"
- default "long"
- Which way the position profits.
- size
- number
- default —
- Units held; scales every money figure.
- entry
- number
- default —
- Average entry price.
- price
- number
- default —
- Mark price. A new value rolls the P&L and flashes the print.
- target
- number
- default —
- Take-profit price — the far end of the gain lane.
- format
- (value: number) => string
- default USD, 2dp
- Formats every money figure.
- formatPrice
- (value: number) => string
- default 2dp
- Formats prices.
- unitLabel
- string
- default "units"
- Noun printed after the size.
- zeroAt
- number
- default 0.28
- Share of the track left of zero — the loss lane.
- closed / defaultClosed
- boolean
- default false
- Controlled or initial closed state.
- onClose
- (realised: number) => void
- default —
- Fires from the gesture or key that crossed the detent.
- onSlideProgress
- (progress: number) => void
- default —
- 0–1, fired from the pointer or key that moved the knob.
| Prop | Type | Default | Description |
|---|---|---|---|
| symbol | string | — | Instrument code shown in the header. |
| side | "long" | "short" | "long" | Which way the position profits. |
| size | number | — | Units held; scales every money figure. |
| entry | number | — | Average entry price. |
| price | number | — | Mark price. A new value rolls the P&L and flashes the print. |
| target | number | — | Take-profit price — the far end of the gain lane. |
| format | (value: number) => string | USD, 2dp | Formats every money figure. |
| formatPrice | (value: number) => string | 2dp | Formats prices. |
| unitLabel | string | "units" | Noun printed after the size. |
| zeroAt | number | 0.28 | Share of the track left of zero — the loss lane. |
| closed / defaultClosed | boolean | false | Controlled or initial closed state. |
| onClose | (realised: number) => void | — | Fires from the gesture or key that crossed the detent. |
| onSlideProgress | (progress: number) => void | — | 0–1, fired from the pointer or key that moved the knob. |