Skip to main content

Hero

Full-width hero section with a heading, tagline, primary call-to-action link, and optional secondary link. Supports an eyebrow label and alternate surface styling.

Summary

The Hero component renders a <header> element containing a heading, tagline paragraph, and one or two call-to-action links. Use it as the opening section of a landing page or product homepage.

Why Use This Component?

  • Consistent hero layout across all pages without writing custom CSS.
  • Preset-aware — colors, typography, and spacing adapt to the active preset.
  • Flexible — optional eyebrow, secondary CTA, and surface variant cover common hero patterns.

Usage

Options

PropTypeDefaultDescription
headingReactNodeMain heading content. Required.
taglinestringSupporting text below the heading. Required.
ctaLabelstringPrimary call-to-action button label. Required.
ctaLinkstringPrimary call-to-action URL. Required.
eyebrowstring | undefinedundefinedSmall label above the heading.
secondaryCtaLabelstring | undefinedundefinedSecondary button label. Both label and link must be set to render.
secondaryCtaLinkstring | undefinedundefinedSecondary button URL. Both label and link must be set to render.
surface'alt' | undefinedundefinedSet to 'alt' to use the alternate surface background.

Troubleshooting

  • Secondary CTA not rendering — Both secondaryCtaLabel and secondaryCtaLink must be set. If either is undefined, the secondary button is hidden.
  • Eyebrow not visible — The eyebrow prop is optional. If not set, the space above the heading is omitted entirely.