Morphing Stage
ComponentsMorphing Stage
ExperimentsNew

Morphing Stage

One story, changing proportions. Scroll through a stage that shifts its shape around your ideas.

React + CSS

Scroll inside this story to change its format. Use the chapter buttons, arrow keys, Home, or End to navigate. Every idea starts with a frame.

01 / PORTRAITA different perspective.
Live component. Go ahead, interact.
01

Installation

Run this in your shadcn-configured React project. The component and stylesheet are added together.

TERMINAL
npx shadcn@latest add http://localhost:5173/r/morphing-stage.json

This command uses the current site address. For localhost, keep this preview running on the same computer. Files follow your configured components alias.

02

Usage

Import the component and make the details your own.

TypeScript
import { MorphingStage } from '@/components/anticraft/MorphingStage';

export function Example() {
  return (
    <MorphingStage
      frames={[
        { id: 'portrait', title: 'Stand tall.', kicker: '01 / Portrait', description: 'Give one idea the whole frame.', format: 'portrait', color: '#dfe8c7', content: <span style={{ fontSize: 80 }}>↑</span> },
        { id: 'landscape', title: 'Look wider.', kicker: '02 / Landscape', description: 'Make room for a different point of view.', format: 'landscape', color: '#e68b65', content: <span style={{ fontSize: 80 }}>↔</span> },
        { id: 'circle', title: 'Come around.', kicker: '03 / Circle', description: 'A familiar story, seen from another angle.', format: 'circle', color: '#bbb7db', content: <span style={{ fontSize: 80 }}>◉</span> },
      ]}
    />
  );
}
03

Props

PropTypeDefaultDescription
framesMorphingStageFrame[]RequiredFrames with unique id, title, ReactNode content, format, and optional kicker, description, and CSS color. Supported formats: portrait, landscape, circle, and arch.
onFrameChange(id: string) => voidundefinedCalled when the active frame changes.
classNamestring''Additional classes for the stage.
04

Motion & accessibility

Considered by default.

The stage uses its own bounded scroll area. Scroll or use the frame navigation to move between compositions. Reduced motion switches compositions without animated shape interpolation. Keep frame artwork decorative and put meaningful text in the title and description.

Use semantic content and meaningful labels in your composition. Check contrast and keyboard behavior with your own styles and content.

05

Inspiration

FORMAT explores how geometric proportions change a composition as visitors scroll. Morphing Stage is an original, bounded-scroll adaptation of that idea, using Anticraft artwork and a reusable set of portrait, landscape, circular, and arched frames.

Visit FORMAT — Obys × DES

The component source and demo artwork are original to Anticraft UI. The linked site is the design or content reference.