Clean, centered welcome screen with a branded icon, heading, and single call-to-action. Perfect for simple app introductions that prioritize clarity over complexity.
Narrow, centered welcome card built around a single icon tile, heading, description, and one primary CTA. icon accepts any ReactNode and falls back to a Boxes lucide icon inside a rounded primary/10 tile when omitted.
Free block
This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.
Radix flavor
npx shadcn add "https://ui.beste.co/r/onboarding3"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/onboarding3"This installs the block to components/beste/block/onboarding3.tsx and the button shadcn/ui primitive it depends on.
The installed file exports onboarding3Demo alongside the block: the exact props behind the preview above. Spread it to get a working welcome screen in one line.
import { Onboarding3, onboarding3Demo } from "@/components/beste/block/onboarding3";
export default function OnboardingPage() {
return <Onboarding3 {...onboarding3Demo} />;
}Then replace the demo with your own props. Written out, the same setup looks like this:
import { Onboarding3 } from "@/components/beste/block/onboarding3";
export default function OnboardingPage() {
return (
<Onboarding3
heading="Welcome to your workspace"
description="Everything is set up. Let's take a quick look around."
primaryButton={{ label: "Start the tour", href: "/tour" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
icon | React.ReactNode | – | Icon rendered in the rounded tile; falls back to a Boxes icon |
heading | string | – | Main headline |
description | string | – | Supporting copy below the heading |
primaryButton | { label: string; href: string } | – | Single CTA below the description |
className | string | – | Extra classes for the outer <section> |
icon has no default in the type, but the component substitutes a Boxes lucide icon (icon ?? <Boxes className="size-8 text-primary" />) whenever the prop is not supplied, so a custom icon fully replaces the default rather than layering on top of it.max-w-md, noticeably narrower than most onboarding blocks in this set (onboarding1 uses max-w-4xl), which keeps the card reading like a modal even though it renders as a full-width section.primaryButton); there's no secondary or skip button prop, unlike onboarding1 and onboarding4.onboarding1
Centered welcome screen featuring a hero image, step counter, and dual CTAs. Perfect for app onboarding flows that guide users through a multi-step setup process.
onboarding4
Welcome screen featuring a video thumbnail with play overlay and duration badge. Perfect for product tours that use video content to demonstrate features.
onboarding2
Two-column welcome layout with feature checklist, user count, and star ratings alongside an image. Perfect for SaaS onboarding that highlights key benefits and builds trust.
onboarding18
Onboarding screen with toggle switches for configuring notification channels and frequency. Perfect for apps that need granular notification consent during setup.
onboarding24
Onboarding screen displaying essential keyboard shortcuts in a grouped grid layout with key badges. Perfect for productivity tools that want to accelerate user adoption.
onboarding21
Completion screen shown after finishing onboarding with a summary of what was configured and quick-start action links. Perfect for ending the setup flow with clear next steps.