Onboarding Stepper Flow
A multi-step onboarding scene where a stepper advances through form panels and finishes on a success state
import { OnboardingStepperFlow } from "@/components/remocn/onboarding-stepper-flow";export const Scene = () => <OnboardingStepperFlow />;A composition scene that walks a new user through three onboarding steps. A horizontal stepper advances across panels of input, radio, and switch fields, finishing on a Finish button that runs to success. The panel crossfade derives linearly from the stepper's exposed position channel; every other channel comes from a composed primitive's hook.
Installation
$ pnpm dlx shadcn@latest add @remocn/onboarding-stepper-flowInstalling onboarding-stepper-flow automatically installs the shared remocn-ui core and all composed primitives via registryDependencies: stepper, input, radio, switch, and button. You do not need to install them separately.
Composed primitives
- Stepper — the horizontal progress indicator; its position channel also drives the panel crossfade
- Input — the account panel's email field, which types itself in
- Radio — the plan selection panel
- Switch — the preferences panel toggles
- Button — the Next and Finish actions, with Finish running through to success
Timeline narrative
The scene opens on step one with the email typing into the input. The stepper advances to step two around frame 64, crossfading to the plan panel where a radio option is selected. It advances again around frame 104 to the preferences panel and its switches. The Finish button then runs to its success state at 156, leaving about 20 frames of settle before the scene ends at 175.
Usage
// src/Root.tsx
import { Composition } from "remotion";
import { OnboardingStepperFlow } from "@/components/remocn/onboarding-stepper-flow";
const OnboardingScene = () => (
<OnboardingStepperFlow
steps={["Account", "Plan", "Settings"]}
name="jane@acme.com"
finishLabel="Finish"
/>
);
export const RemotionRoot = () => (
<Composition
id="OnboardingStepperFlow"
component={OnboardingScene}
durationInFrames={175}
fps={30}
width={1280}
height={720}
/>
);The internal schedule advances the stepper at frames 64 and 104, so steps renames the three
panels rather than adding or removing them. For a different number of steps, compose stepper
with your own panels directly.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
steps | string[] | DEFAULT_STEPS | Labels for the three stepper positions. |
name | string | "jane@acme.com" | Value typed into the account panel's input field. |
plans | string[] | DEFAULT_PLANS | Options rendered as radio choices in the plan panel. |
nextLabel | string | "Next" | Label on the advance button shown on the first two panels. |
finishLabel | string | "Finish" | Label on the final button that runs through to its success state. |
theme | Partial<RemocnTheme> | — | Theme overrides forwarded to every composed primitive. |