Scroll Formation

A pinned stage where scattered images drift into a tidy grid as you scroll, while the title fades back.

Everything in the box, in its place.

  • The Halden R camera from three quarters, lens forward.
  • A cobalt ceramic cup of coffee on a brushed steel counter in morning light.
  • The Halden R from the front, its lens centred.
  • Roasted coffee beans on the steel counter, with the same cobalt cup behind them.
  • The Halden R in profile, showing the grip.
  • A slender stream of coffee pours into the cobalt cup.
  • The back of the Halden R, with its screen and dials.
  • The Halden R from above, showing the shutter dial.
  • The Halden R taken apart into its body, lens and battery.
import { ScrollFormation } from '@brand-studio/ui';
import { beans, cameraViews, cup, pour } from '@/demos/assets';

export default function ScrollFormationDemo() {
  return (
    <ScrollFormation
      label="The Halden kit"
      title="Everything in the box, in its place."
      images={[cameraViews[0], cup, cameraViews[1], beans, cameraViews[2], pour, cameraViews[3], cameraViews[4], cameraViews[5]]}
    />
  );
}

Installation

pnpm add @brand-studio/ui

Usage

import { ScrollFormation } from '@brand-studio/ui';
<ScrollFormation label="The kit" title="Everything in the box." images={images} />

Six to twelve images read best. The section is about two and a half screens tall while it pins.

Accessibility

  • The section is labelled and the images keep their alt text in reading order.
  • Before scripts run, and under reduced motion, the title sits over an ordinary grid with no pinning.

API Reference

PropTypeDefault
imagesImageAsset[]–
title?React.ReactNode–
label?string'Gallery'
className?string''

Still, Deskhand and Hollis are fictional brands. The coffee photographs are original generated artwork. @brand-studio/ui is MIT licensed.