KQ-1106 · PRINT/HOLD

Print Hold

A hold-to-confirm pad drawn as a procedural fingerprint that reads nothing and says so: held, its ridges light along a spiral that unwinds from the press point on a linear read while a hum rises; lifted early they drain back into the press point, and a thumb that slides smears the read, so the pad shakes on a keyframed tween, flashes and buzzes. A complete read runs an optional verify, reports true, and once the value is confirmed every ridge condenses onto one ring on the glide spring while a tick draws inside it or a padlock's shackle springs open on snap. Space or Enter held is the hold, Escape cancels a read, and the caption under the pad says each step in words.

KQ-1106 · PRINT/HOLD

Approve transfer

To Fernworks Supply

1,240.00

Press and hold the pad

transfer pending · hold the pad

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/print-hold

Props

label
string
default —
What holding the pad confirms, as a sentence: the pad's accessible name.
confirmed / defaultConfirmed
boolean
default false
Whether a hold has been confirmed. Controlled pads condense only once the host sets it; set it back to false to arm the pad again.
onConfirmedChange
(confirmed: boolean) => void
default —
Fires with true from the completed hold (after verify, if given).
verify
() => boolean | void | Promise<boolean | void>
default —
Runs when a hold completes, before anything is confirmed. Return or resolve false to decline the read: the pad shakes, buzzes and drains. While a promise is pending the lit print pulses and the caption says Checking.
scan
number
default 1.6
Seconds a full read takes, 1 to 3. A re-press during a drain resumes from where the light is.
ridges
number
default 10
How many ridge lines the print has, 6 to 14: fewer is bolder, more is finer.
colour
"cobalt" | "signal" | "amber" | "ink"
default "cobalt"
The colour the ridges light in, and the confirmed ring and glyph.
feedback
"tick" | "unlock"
default "tick"
What the lit ridges condense into: a ring with a tick (Confirmed), or a ring with a padlock whose shackle springs open (Unlocked).
sound
boolean
default false
Play the rising scan hum, the chime on confirmation and the buzz on a failed read. Nothing plays, and no audio context exists, unless this is on.
disabled
boolean
default false
Dims the pad, blocks holds and ends one in progress.
className
string
default —
Merged onto the wrapper that holds the pad and its caption.