KQ-700 · REPAYMENT/ARC

Repayment Arc

The whole cost of a loan — principal plus every scheduled interest charge — drawn as one 240° arc that fills clockwise with what has actually been repaid: principal in cobalt from the start and interest in warn continuing from where the principal ends, both shares animated together on glide. Their sum places the frontier, a marker riding the arc with the next due date just outside it; the date swaps only once the spring has settled, so the label never names a date the arc has not yet reached, and the centre figure counts on glide. Nothing takes focus: it is a role="meter" driven by its props.

KQ-700 · REPAYMENT/ARC
Coldbrook Bank vehicle loan14 of 36 paid

Coldbrook Bank 14 of 36 paid | principal 6,530.96 · interest 1,296.24 | next 12 Dec

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/repayment-arc

Props

total
number
default
Principal plus every scheduled interest charge; the full arc.
paidPrincipal
number
default
Principal repaid so far; the cobalt share.
paidInterest
number
default
Interest paid so far; the warn share.
paidCount
number
default
Instalments made.
count
number
default
Instalments in the schedule.
nextDue
string
default
The next due date in its own words, printed at the frontier.
nextAmount
number
default
The next instalment, printed under the arc when given.
format
(value: number) => string
default Intl.NumberFormat, two decimals
Formats every amount the arc prints.
label
string
default Repayment
Names the meter; printed above the arc.