KQ-709 · GOAL/POT

Goal Pot

A savings pot whose liquid is the share of the goal already saved. Each increase mints a coin above the lip that drops in and lands on recoil, and only when it lands does the level rise on glide and the figure count up on the same spring; landing at the goal turns the lip success and glints it once. The pot is a meter with a spoken value text, the quick-add controls are real buttons reached by Tab and pressed by Enter or Space, and each add is announced.

KQ-709 · GOAL/POT
Camera body
$640.00
of $1,200.00$560.00 to go

Saved $640.00 of $1,200.00 · $560.00 to go

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/goal-pot

Props

value / defaultValue
number
default 0
Controlled or initial amount in the pot.
onValueChange
(value: number, added: number) => void
default
Fires from the quick-add press that changed the amount.
goal
number
default
The target; the pot is full here and the lip glints when reached.
steps
number[]
default [20, 50, 100]
Quick-add amounts rendered as buttons under the readout. An empty list hides the row.
format
(value: number) => string
default Intl.NumberFormat("en-US", { style: "currency", currency: "USD" })
Formats every amount. The default pins an explicit locale so server and client agree.
label
string
default
Names the pot; printed above the readout and read as the meter's label.