Done: Card payment
Table 6 paid 38.40 by card. The receipt went to the diner.
KQ-1151 · PAPER/SLIP
Notices print out of a till printer as slips of paper: a new slip's lane opens a print line at a time, pushing the older slips up while the housing chatters, and its loose end curls toward you before relaxing on the drift spring. Pull a slip down and its body strains against the perforation with rubber-band give while seeded fibres stretch and snap one by one; past the tear the last fibres spring apart on the recoil spring, the body flutters out on the exit ease and the older slips drop into its place on glide, while a short pull springs back on snap. Slips share one tab stop where Up and Down move and Delete tears the focused slip through the same pull.
Done: Card payment
Table 6 paid 38.40 by card. The receipt went to the diner.
Notice: Refund issued
4.20 back to the card for an oat flat white.
Warning: Paper running low
About three metres left on the roll. Swap it before lunch.
Pull a slip down past its perforation to tear it off, or press Delete.
3 on paper · last: Paper running low
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/paper-slip
| Prop | Type | Default | Description |
|---|---|---|---|
| notices | { id: string; title: string; body?: string; tone?: "info" | "success" | "warn" | "danger" }[] | — | Every notice, oldest first. The newest stands at the printer's slot; only the newest `max` are on the paper. |
| onDismiss | (id: string) => void | — | Fires the moment a slip tears, from the pull, key or Tear button that tore it. |
| label | string | "Notifications" | The list's accessible name, printed on the printer. |
| curl | number | 0.4 | How far the loose end of each slip rolls toward you, 0 to 1. |
| speed | number | 1 | Paper feed rate and how fast a torn slip falls, 0.5 to 2. |
| paper | "white" | "cream" | "thermal" | "thermal" | The paper stock and its ink; warnings and alerts print in a second, red ink. |
| max | number | 4 | How many slips stand on the paper at once, 2 to 6; older ones are counted above. |
| sound | boolean | false | The tear, the flutter, and the print head's whir (heard only when a print follows the visitor's own press). |
| disabled | boolean | false | Slips can be read but not torn. |
| className | string | — | Classes for the root; it is 416px tall by default and a height class resizes it. |