KQ-616 · CARD/TAP

Card Tap

A contactless payment drawn as a scene: push the slab toward the reader and past six tenths of its travel the tap fires, the card closing the gap on snap while rings pulse from the contact point on drift for as long as the read lasts. Approval stamps a tick on recoil; a decline never celebrates, shaking the card home on a tween instead. The slab is a real button, so Enter, Space and Right Arrow tap it without a pointer.

KQ-616 · CARD/TAP
Tap to payFernworks Depot$24.80

Ready to tap $24.80 at Fernworks Depot

Tap idle · $24.80 · Fernworks Depot

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/card-tap

Props

status / defaultStatus
"idle" | "reading" | "approved" | "declined"
default "idle"
Controlled or initial phase of the tap.
onStatusChange
(status: CardTapStatus) => void
default
Fires from the gesture or key that moved the card to the reader.
onTap
() => void
default
Fires once the card reaches the reader — start the authorisation here.
amount
number
default 0
The sum being tapped.
format
(value: number) => string
default Intl.NumberFormat USD
Formats every amount; the stage never invents a currency.
merchant
string
default "Fernworks Depot"
Who is being paid.
network
string
default "Waylight"
Network wordmark printed on the slab.
last4
string
default "4417"
Last four digits printed on the slab.
declineReason
string
default "Card limit reached"
Printed under the stage when the tap is refused.
label
string
default "Tap to pay"
Names the group for assistive technology.