One payment of $4.99, yours forever. Use it in unlimited personal and commercial projects; no resale.
React component with TypeScript types — slides as data, onChange, imperative-free
Fan, Cascade and Scatter layouts — a hand of cards, a staircase and a pile of polaroids with handwritten titles
The vanilla Web Component with every layout, a demo page, README and license
Attributes & props
Name
Type
Default
Description
<img> children
src, alt, data-title, data-tag
—
One per card. React: slides={[{ src, title, tag, alt }]}.
size
number (px)
300
Card width; the card is 4:5.
theme
'light' | 'dark'
'light'
Shadows, caption and buttons.
autoplay
seconds
0
Throws the top card every N seconds; pauses on hover, focus and off-screen. 0 = off.
speed
number
1
Spring speed of the cards settling.
caption
boolean
true
Title, tag, counter and arrows under the deck.
change
event · detail.index
—
Fires when another photo comes to the top. React: onChange(index).
preset Pro
'stack' | 'fan' | 'cascade' | 'scatter'
'stack'
Deck layout. Free build ships Stack only.
Throw the top card past a third of its width — or flick it — and it flies off and slides in at the back; let go earlier and it springs home. It pivots around where you grabbed it. Arrow keys and the buttons work too; vertical swipes still scroll the page on touch screens. Pure CSS transforms (no WebGL), so any number fit on a page; it settles to zero work when idle and turns motion off for prefers-reduced-motion.