Skip to content
UI Kit
Accent color

Lead magnet

Something useful in exchange for an email address, with a real piece shown first. A checklist with the rest behind a blur, a course by email, a quick check of the visitor’s website and template pages that fan out.

4 variants
Switch category

Lead magnet

Checklist preview

The first points of the list are readable and tick in one after another, the rest fades behind a soft blur with a lock. The form confirms in place.

Open in Studio

Email course

The days of a course by email on a rail that fills while scrolling, each day rises in. The sign-up stays in view on wide screens.

Open in Studio

Website check

Visitors enter their address, the checks run one by one with a spinner and a tick. The score fills a ring, three findings show, the full report is sent by email.

Open in Studio

Template preview

Three drawn pages of the template lie stacked and fan out while the section scrolls into view. Next to them what is inside, the format and the form.

Open in Studio

Details

What Lead magnet brings along, read from the registry and the source.

Variants
4
Version
1.0.0 · since 1.1.0
File
components/ui/lead-magnet.tsx
Brings along
utilskitbuttoniconmotionrevealsection
npm packages
None
Languages
English and German, 21 texts of its own

Props

The LeadMagnetProps interface from components/ui/lead-magnet.tsx, with the comments from the code.

  • variantoptional
    LeadMagnetVariant

    checklist-previewemail-coursemini-audittemplate-preview

  • eyebrowoptional
    React.ReactNode
  • titlerequired
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • itemsoptional
    string[]

    checklist-preview: all points, the first `visible` are readable

  • visibleoptional
    number
  • totaloptional
    number

    checklist-preview: points in the full list, default the length of items

  • daysoptional
    { title: string; text: string }[]

    email-course: the days

  • checksoptional
    string[]

    mini-audit: the checks shown while it runs, and the result to tease

  • resultoptional
    { score: number; summary: string; findings: { label: string; ok: boolean }[] }
  • contentsoptional
    { label: string; icon?: IconName }[]

    template-preview: what is inside and the page titles drawn on the sheets

  • pagesoptional
    string[]
  • formatoptional
    string

    e.g. PDF, 14 pages

  • pointsoptional
    string[]

    Short promises under the form

  • actionoptional
    string
  • onSubmitoptional
    (data: { email: string; url?: string }) => void

Built-in texts

Lead magnet writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 21 texts
emailEnglish EmailGerman E-Mail
emailPlaceholderEnglish you@example.comGerman du@beispiel.de
invalidEnglish Please enter an email address like name@example.com.German Bitte gib eine E-Mail-Adresse wie name@beispiel.de ein.
getListEnglish Send me the full listGerman Ganze Liste zuschicken
startCourseEnglish Start the free courseGerman Kostenlosen Kurs starten
getTemplateEnglish Send me the templateGerman Vorlage zuschicken
getReportEnglish Send me the full reportGerman Ganzen Bericht zuschicken
sentTitleEnglish It is on its wayGerman Ist unterwegs
sentTextEnglish Check your inbox at {e}. If nothing arrives in five minutes, look in the spam folder.German Schau in dein Postfach unter {e}. Kommt in fünf Minuten nichts, sieh im Spam-Ordner nach.
moreEnglish {n} more points in the full listGerman {n} weitere Punkte in der ganzen Liste
dayEnglish Day {n}German Tag {n}
urlEnglish Your websiteGerman Deine Website
urlPlaceholderEnglish example.comGerman beispiel.de
urlInvalidEnglish Please enter a web address like example.com.German Bitte gib eine Adresse wie beispiel.de ein.
checkEnglish Check my websiteGerman Meine Website prüfen
checkingEnglish Checking {u}German Prüfe {u}
scoreEnglish ScoreGerman Wertung
ofEnglish of 100German von 100
unlockEnglish The full report with {n} findings and how to fix each oneGerman Der ganze Bericht mit {n} Befunden und wie du jeden behebst
againEnglish Check another websiteGerman Andere Website prüfen
insideEnglish What is insideGerman Das steckt drin

Accessibility

Read from the source of the component.

  • Sets aria-describedby, aria-label and aria-live, so screen readers announce purpose and state.
  • Uses the roles alert and status.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still.

Frequent questions

How do I install Lead magnet?

With aiw add @ai-website/lead-magnet. The command puts components/ui/lead-magnet.tsx into your project, the code is yours from then on. It brings along button, icon, motion, reveal and section. It needs no further npm packages.

Which variants does Lead magnet have?

4 variants, Checklist preview, Email course, Website check and Template preview. You pick one with the variant prop, for example variant="email-course".

Can I translate the texts of Lead magnet?

Yes. Lead magnet carries 21 texts of its own in English and German, such as “Email”, “you@example.com” and “Please enter an email address like name@example.com.”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Lead magnet?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Lead magnet with aiw_components and install it with aiw_add @ai-website/lead-magnet. Name the variant in your prompt, for example variant="checklist-preview", and the assistant writes your content straight into the props.

Can I adjust Lead magnet without code?

Yes, in the Studio. All 4 variants are editable there, texts, lists and switches. The Studio writes the matching LeadMagnet code to copy.

Often searched

Jump to

Copied to the clipboard