Data Import Selector

Onboarding screen with import options from other platforms, CSV upload, and manual entry. Perfect for SaaS migration flows that help users bring existing data into the platform.

PRO

Onboarding26: Data Import Selector

Import-source picker listing platform cards (Trello, Asana, Jira, Notion, …), an "or" divider, and two tiles for uploading a file or starting manually, all three groups sharing one selection state so only a single option can be active across the whole screen.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/onboarding26?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/onboarding26?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/onboarding26.tsx and the badge and button shadcn/ui primitives it depends on.

Quick start

The installed file exports onboarding26Demo alongside the block: the exact props behind the preview above. Spread it to get a working import selector in one line.

tsx
import { Onboarding26, onboarding26Demo } from "@/components/beste/block/onboarding26";

export default function OnboardingPage() {
  return <Onboarding26 {...onboarding26Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Database } from "lucide-react";
import { Onboarding26 } from "@/components/beste/block/onboarding26";

export default function OnboardingPage() {
  return (
    <Onboarding26
      badge={{ label: "Import", variant: "secondary" }}
      heading="Bring your data"
      description="Import existing data from another platform or start fresh."
      sources={[
        {
          id: "trello",
          icon: <Database className="size-5" />,
          title: "Trello",
          description: "Import boards, lists, and cards",
        },
        {
          id: "notion",
          icon: <Database className="size-5" />,
          title: "Notion",
          description: "Import pages and databases",
        },
      ]}
      primaryButton={{ label: "Continue", href: "/setup/next" }}
      secondaryButton={{ label: "Start from scratch", href: "/dashboard" }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Small badge above the heading
headingstringMain headline
descriptionstringSupporting copy below the heading
sourcesImportSource[][]Platform cards for the source list
primaryButton{ label: string; href: string }Primary CTA, disabled until a selection exists
secondaryButton{ label: string; href: string }Secondary CTA link, always enabled
labels{ stepOf?: string; orDivider?: string; uploadTitle?: string; uploadDescription?: string; uploadButton?: string; manualTitle?: string; manualDescription?: string }Step template, divider text, and the two tile labels
currentStepnumber1Current step number, used only to fill the step-of label
totalStepsnumber4Total step count, used only to fill the step-of label
classNamestringExtra classes for the outer <section>
ts
type ImportSource = {
  id: string;
  icon: React.ReactNode;
  title: string;
  description: string;
};

Behavior notes

More Onboarding blocks

View all Onboarding
PRO

onboarding17

Goal Selector with Paths

Onboarding screen where users pick their primary goal to receive a tailored onboarding path. Each goal card shows a recommended feature set. Perfect for multi-purpose platforms.

PRO

onboarding29

Company Info Form

Onboarding screen for collecting company information including name, team size selector chips, and industry dropdown. Perfect for B2B SaaS apps that need organizational context during setup.

PRO

onboarding32

Data Import Split

A reversed split with an image tile floating a live import dropzone on the left, and an eyebrow, light heading, three monospace-numbered steps, and an accent button on the right.

PRO

onboarding20

Template Starter Picker

Onboarding screen with a grid of starter templates to choose from, each with a preview thumbnail, title, and description. Perfect for project creation flows in design tools and project management apps.

PRO

onboarding13

Role Persona Selector

Onboarding screen where users select their role or persona to personalize their experience. Each role card shows an icon, title, and description with a selectable highlight state.

PRO

onboarding16

Interest Tag Picker

Onboarding screen with a grid of selectable interest tags and chips for personalizing content recommendations. Perfect for content platforms, newsletters, and social apps.