KQ-1100 · CLICKER/COUNT
Clicker Count
A hand tally counter. Pressing the body sinks the plunger on a flick spring while the units wheel turns one notch on the same spring, then the plunger returns on a snap spring and the wheel stays; with carry on the wheels are geared, so 099 to 100 turns three wheels in one stroke. A long press on the reset knob turns it and winds every wheel back toward zero as the hold fills, and letting go early springs them home. Space and Enter count, and holding Space or Enter on the knob is the long press.
KQ-1100 · CLICKER/COUNT
Gate B arrivals: 97
Gate B · arrivals
0097 arrivals · hold the knob to clear
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/clicker-count
Props
- value / defaultValue
- number
- default 0
- Controlled or initial count. It rolls over past the last wheel, like the real thing.
- onValueChange
- (value: number) => void
- default —
- Fires from the press or the finished reset, with the new count.
- label
- string
- default —
- What is being counted. Names the counter and its buttons, and is spoken with the count.
- digits
- number
- default 4
- Number wheels in the window, 3 to 5.
- travel
- number
- default 8
- How far the plunger sinks, in px: short and snappy, or long and heavy. The click pitches with it.
- finish
- "steel" | "brass" | "matte"
- default "steel"
- The body's finish, built from theme tokens so it reads on a light or a dark stage.
- carry
- boolean
- default true
- Geared wheels: a rollover turns the next wheel in the same stroke and a reset rewinds through every number. Off, the wheels above the units turn freely to their own digits.
- sound
- boolean
- default false
- Play the synthesised click and clack of each press, a whir that rises while the knob is held, and the landing on zero. Nothing plays, and no audio context exists, unless this is on.
- disabled
- boolean
- default false
- Disables the plunger and the knob.
- className
- string
- default —
- Merged onto the root element's classes.
| Prop | Type | Default | Description |
|---|---|---|---|
| value / defaultValue | number | 0 | Controlled or initial count. It rolls over past the last wheel, like the real thing. |
| onValueChange | (value: number) => void | — | Fires from the press or the finished reset, with the new count. |
| label | string | — | What is being counted. Names the counter and its buttons, and is spoken with the count. |
| digits | number | 4 | Number wheels in the window, 3 to 5. |
| travel | number | 8 | How far the plunger sinks, in px: short and snappy, or long and heavy. The click pitches with it. |
| finish | "steel" | "brass" | "matte" | "steel" | The body's finish, built from theme tokens so it reads on a light or a dark stage. |
| carry | boolean | true | Geared wheels: a rollover turns the next wheel in the same stroke and a reset rewinds through every number. Off, the wheels above the units turn freely to their own digits. |
| sound | boolean | false | Play the synthesised click and clack of each press, a whir that rises while the knob is held, and the landing on zero. Nothing plays, and no audio context exists, unless this is on. |
| disabled | boolean | false | Disables the plunger and the knob. |
| className | string | — | Merged onto the root element's classes. |