Image Pageflip

A perspective book of double-sided image leaves - peek on hover, flip on click, optional autoplay and spine centering. Bundled photos install under components/3d/image-pageflip/images.

Default

Click a page or use Prev / Next. Hover peeks the top leaf. Demo photos ship with the install.

Loading…

Installation

CLI
npx @sonojs/ui@latest add image-pageflip
Also needsnpm i lucide-react

Usage

page.tsx
"use client"

import { ImagePageflip } from "@/components/3d/image-pageflip"

export default function Page() {
  return (
    <ImagePageflip
      pageWidth={230}
      pageHeight={330}
      spineShift
      showPageNumbers
    />
  )
}

Props

PropTypeDefaultDescription
pagesPageFlipLeaf[]bundled demoLeaves with front/back images and optional meta.
defaultTurnedIndexnumber0Initial turned leaf count (uncontrolled).
turnedIndexnumber-Controlled turned leaf count.
onPageChange(turned, total) => void-Fires after a flip.
pageWidthnumber230Single page width in px.
pageHeightnumber330Single page height in px.
perspectivenumber1300CSS perspective in px.
peekAnglenumber14Hover peek degrees.
turnAnglenumber180Full flip degrees.
durationnumber0.65Flip duration in seconds.
spineShiftbooleantrueCenter a two-page spread when open.
accentColorstring"#2563EB"Badge accent color.
autoplaybooleanfalseAuto-advance leaves.
showControlsbooleantruePrev / Reset / Next toolbar.
interactivebooleantrueClick leaves to flip.
classNamestring-Outer wrapper classes.