KQ-929 · RECEIPT/CARD

Receipt Card

A paid receipt folded into one line of a thread. Pressing it unrolls the paper: the body's height is measured through a callback ref and glides open on glide while the item lines arrive from 4px up in a cascade, and the total lands last and rolls its digits up from zero on snap. Enter and Space fold and unfold it, Escape folds it from anywhere inside and returns focus to the summary control, and the torn bottom edge is drawn from integer teeth sized by its container.

KQ-929 · RECEIPT/CARD
  1. Rui Baptista · 16:41Paid for the depot run.

Folded · paid · $238.40

Install

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

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

Props

merchant
string
default
Who was paid; it heads the summary and names the card.
date
string
default
A preformatted date. The card never reads a clock.
method
string
default "Waylight Pay"
How it was paid, in words, printed beside the date.
reference
string
default
A reference code printed under the total.
lines
ReceiptLine[]
default
The item lines as { id, label, qty?, amount }, printed in order and summed into the total.
extras
ReceiptLine[]
default []
Service, delivery and the like, printed under a dashed rule and summed with the rest.
open / defaultOpen
boolean
default false
Controlled or initial fold state.
onOpenChange
(open: boolean) => void
default
Fires from the summary control and from Escape, with the next state.
format
(value: number) => string
default Intl.NumberFormat("en-US")
Money formatter for every figure; amounts are rounded to cents before they are summed or spoken.
paidLabel
string
default "Paid"
The chip's word, which says the state in words rather than in a colour.
totalLabel
string
default "Total"
The total row's word.
label
string
default
Names the receipt for assistive technology; falls back to a sentence naming the merchant.
className
string
default
Extra classes on the card.