Pro
Sticker peel
Stickers you peel off a surface. Press one and the corner nearest your finger curls back over a fold; keep holding and it lifts free and follows you; let go and it presses flat again with a little squash.
pnpm dlx shadcn@latest add @caliper/sticker-peelWhen to use
Use it for
- Playful personalisation: laptop lids, profile walls, journals, reward collections.
- Marketing and onboarding moments where a tactile object earns its place.
Skip it when
- Arranging content people must find again; use a board with alignment.
- Dense surfaces; stickers need room around them to be grabbed.
Decisions
Why it is built this way, so you know what to keep when you change your copy.
Behaviour
- Peel, then lift
- The corner curls first; only a moment later, or as soon as it moves, does the sticker come free and rise.
Styling
- A real fold
- The front loses the corner beyond a 45° fold and the flap is exactly that corner reflected over it, so the curl reads as paper at any size.
Usage
- Keyboard pick-up
- Enter or Space picks a sticker up, arrows move it (Shift for larger steps), Enter puts it down and Escape returns it.
Installation
pnpm dlx shadcn@latest add @caliper/sticker-peel
Adds its 2 files to components/ui/, each with its own stylesheet, and installs their packages. Pro installs with your access token, set up once per project. See Pro access. The first part also adds Caliper UI’s tokens; import them once as in Installation.
Usage
Import it from your copy of the source. The example behind the preview comes with the source.
import { StickerPeel } from "@/components/ui/sticker-peel"
The worked example comes with Pro
The 32-line example behind the preview opens here, ready to copy.
- 602 Pro parts, blocks and page templates, all with source
- $199 once, with a year of updates. What you have stays yours
- A full refund within 14 days if it is not for you
API reference
StickerPeel
component
Also accepts the native props of its root element and a ref.
Accessibility
It exposes group semantics, with aria-label, aria-pressed, aria-hidden and aria-live kept in step with state. Changes that matter are announced through a live region.
Motion
It declares no animation in its component source. Any transition comes from its stylesheet, which uses the duration tokens that collapse to instant under prefers-reduced-motion.
Related
- Page curlA page that curls back to reveal the next.
- Photo pilePhotos dropped in a loose pile that spreads into a grid. Each photo travels from the pile to its cell, straightening as it goes, and gathers back the same way. The pile shows the top three and a count.
- Jiggle gridA home-screen grid you arrange the way a phone does. A long press (or Edit) sets every item jiggling; drag one and the others slide aside to make room, or tap its badge to remove it.