Skip to content
Motion
ProIn reviewv1.0.0

Before After Gallery

Before and after, compared by dragging a liquid seam across each photo, then the rest of the gallery.

Controls

Variant
<GalleryBeforeAfter />

About

Built on Liquid Before/After for businesses whose work is a transformation.

Use it when

  • The work is a visible change.

Skip it when

  • No real before-and-after photos are coming: use gallery-grid.

Install

The demo above is live today. Installing Pro items opens with VibeBox Motion Pro; join the waitlist to hear first.

Code

The source is part of VibeBox Motion Pro.

Licensed per seat; it installs with the same shadcn command once Pro opens.

See Pro and join the waitlist

Content

Typed slots from schema.ts. Facts (hours, prices, quotes, names) come only from the business; until then they render as fill-ins.

SlotLabelTypeLimitFact
eyebrowKickertext32 chars—
headingHeadingtext60 chars—
leadIntrotext160 chars—
itemsImageslistup to 12—
items[].mediaImageimage——
items[].captionCaptiontext60 charsCan be a fill-in
comparisonsBefore and after pairslistup to 3—
comparisons[].beforeBefore photoimage——
comparisons[].afterAfter photoimage——
comparisons[].beforeLabelBefore labeltext16 chars—
comparisons[].afterLabelAfter labeltext16 chars—
comparisons[].captionCaptiontext80 charsCan be a fill-in

Variants

  • Stackeddefault

    stacked

    Comparisons full width, thumbnails beneath.

  • Side

    side

    The first pair large left; more pairs and thumbnails right.

Accessibility and motion

Keyboard
Each comparison's range input (arrow keys).
Screen readers
Each pair is a labelled range with both photos' alt text; thumbnails are figures.
Touch
Drag the seam with a finger.
Reduced motion
The seam moves without its liquid wobble.

Edge cases and limits

  • Scenes cannot be compared: they show side by side.
  • Labels are fields (the component draws them).
  • A gallery of photos seen through reeded glass

    Photos behind reeded glass that clears where the pointer passes, for interiors, spas and boutiques.

    Gallery block · WebGL2

  • A row of photos, the centre one facing forward and the others turned away

    A swipeable row that snaps one photo at a time, each turning in 3D as it leaves the centre.

    Gallery block · Server

  • Six square scenes in a three-column gallery with captions

    Photos of the work or the place in an even grid or with the first image large, with captions.

    Gallery block · Server

↑ ↓ to move↵ to openesc to close