Skip to main content
Version: 1.0.3

Landing Page

Landing Page is a complete marketing/SaaS landing page template composed from Ignix UI components - reusing Hero, PricingGrid, TestimonialCard, and Navbar for sections that already exist in the registry, and hand-rolling the ones that don't (header composition, logo cloud, feature grid, testimonial wall, FAQ accordion, CTA banner, and footer).

Features:

  • Header with logo, nav links, CTA button, and an accessible mobile menu
  • Hero section built from @ignix-ui/hero's composable parts
  • Logo cloud ("trusted by") strip with a custom logo renderer slot
  • Feature grid of icon + title + description cards
  • Pricing section wrapping @ignix-ui/pricing-grid
  • Testimonials wall of @ignix-ui/testimonial-card instances
  • FAQ accordion (single-open) with keyboard-accessible triggers
  • CTA banner, fully replaceable via a custom slot
  • Footer with link groups, social icons, and copyright
  • Fully responsive, light/dark theme aware, and semantic (<header>/<main>/<footer> landmarks, one <h1> per page)
  • Every section is individually exported for hand-assembly into a custom layout

Ship your SaaS product faster

A production-ready landing page built from Ignix UI components - responsive, accessible, and themeable out of the box.

Trusted by teams at

Acme CorpGlobexInitechUmbrellaSoylent

Features

Everything you need to launch

Built-in tools to help you move from idea to production without reinventing the basics.

Built for speed

Optimized components with minimal overhead so your app stays fast.

Fully themeable

Light and dark mode support out of the box, driven by CSS variables.

Accessible by default

Semantic markup and keyboard support across every component.

PRICING

Simple, transparent pricing

Choose the plan that fits your team. Upgrade or cancel anytime.

Starter

For individuals getting started.

$0
  • Up to 3 projects
  • Community support
  • ×Priority support
MOST POPULAR

Pro

For growing teams.

$29
  • Unlimited projects
  • Priority support
  • Advanced analytics

Enterprise

For large organizations.

Custom
  • Unlimited everything
  • Dedicated support
  • Custom integrations

Testimonials

Loved by teams everywhere

See what our customers have to say.

This product completely transformed how our team ships software.

Sarah Johnson

Product Manager · TechCorp

The best developer experience we've had with a UI library.

Miguel Alvarez

Lead Engineer · Northwind

Cut our landing page build time from weeks to days.

Priya Nair

Founder · Loopline

FAQ

Frequently asked questions

Everything you need to know before you get started.

Yes, the Starter plan is free forever with no credit card required.

Ready to get started?

Join thousands of teams already building with Ignix UI.

Installation​

ignix add component landing-page

Usage​

Basic usage​

import { LandingPage } from "@ignix-ui/landing-page";

export function Marketing() {
return <LandingPage />;
}

With custom copy and callbacks​

import { LandingPage } from "@ignix-ui/landing-page";

export function Marketing() {
return (
<LandingPage
brandName="Nova"
heroEyebrow="Now in public beta"
heroHeadline="The fastest way to launch your SaaS"
heroSubheadline="Everything you need to go from idea to production in days, not months."
heroPrimaryCtaLabel="Start building"
onHeroPrimaryCtaClick={() => console.log("Primary CTA")}
onPricingCtaClick={(tier, billing) => console.log("Selected", tier.name, billing)}
/>
);
}

Custom logo cloud renderer​

Real client/partner logos are almost always brand SVGs or images, not plain text - use renderLogo to control exactly how each logo renders:

<LandingPage
logos={[{ id: "acme", name: "Acme Corp" }]}
renderLogo={(logo) => <img key={logo.id} src={`/logos/${logo.id}.svg`} alt={logo.name} />}
/>

Replacing the CTA section entirely​

<LandingPage
customCTA={
<section className="py-16 text-center bg-muted">
<p className="text-2xl font-bold">Your own fully custom CTA section</p>
</section>
}
/>

Composable API​

Every section is exported individually, so you can hand-assemble your own layout instead of using LandingPage:

import {
LandingHeader,
LandingHero,
LandingLogoCloud,
LandingFeatures,
LandingPricing,
LandingTestimonials,
LandingFAQ,
LandingCTA,
LandingFooter,
} from "@ignix-ui/landing-page";

export function CustomLanding() {
return (
<div>
<LandingHeader brandName="Nova" />
<main>
<LandingHero headline="Build faster with Nova" />
<LandingFeatures />
<LandingPricing />
<LandingFAQ />
</main>
<LandingFooter />
</div>
);
}

Props​

LandingPage​

PropTypeDefaultDescription
logoReactNode-Replaces the default text logo in the header.
brandNamestring"Ignix"Text logo fallback and footer brand name.
navLinksNavLink[]4 example linksHeader navigation links.
headerCtaLabelstring"Get Started"Header CTA button label.
onHeaderCtaClick() => void-Called when the header CTA is clicked.
heroEyebrowstring-Optional badge text above the hero headline.
heroHeadlineReactNodeexample copyHero headline.
heroSubheadlineReactNodeexample copyHero subheadline.
heroPrimaryCtaLabel / onHeroPrimaryCtaClickstring / () => void"Start free trial"Hero primary CTA.
heroSecondaryCtaLabel / onHeroSecondaryCtaClickstring / () => void"View demo"Hero secondary CTA.
heroMediaSrcstring-Optional hero image/video - switches the hero to a split layout when provided.
logoCloudTitlestring"Trusted by teams at"Logo cloud section title.
logosLogoCloudItem[]5 example logosLogos to render. Section renders nothing when empty.
renderLogo(logo: LogoCloudItem) => ReactNode-Custom per-logo renderer (recommended for real brand logos).
featuresTitle / featuresDescriptionstringexample copyFeatures section heading.
featuresFeatureItem[]3 example featuresFeature grid items ({ id, icon, title, description }).
pricingTitle / pricingDescriptionstringexample copyPricing section heading.
pricingTiersPricingTier[]3 example tiersPassed through to @ignix-ui/pricing-grid.
onPricingCtaClick(tier, billing) => void-Called when a pricing tier's CTA is clicked.
testimonialsTitlestringexample copyTestimonials section heading.
testimonialsTestimonialItem[]3 example testimonialsRendered as a grid of TestimonialCards.
faqTitlestringexample copyFAQ section heading.
faqItemsFAQItem[]3 example itemsFAQ accordion items ({ id, question, answer }).
ctaTitle / ctaDescription / ctaLabel / onCtaClick-example copyDefault CTA banner content.
customCTAReactNode-Replaces the entire CTA section when provided.
footerLinkGroupsFooterLinkGroup[]3 example groupsFooter link columns.
footerSocialLinksSocialLink[][]Footer social icon links.
copyrightTextstringcomputed (© {year} {brandName}. All rights reserved.)Footer copyright line.
classNamestring-Optional root wrapper class.

Data types​

TypeShapeDescription
NavLink{ label, href }Header/footer navigation link.
LogoCloudItem{ id, name, logo? }Logo cloud entry - logo overrides the text fallback for a single item.
FeatureItem{ id, icon: LucideIcon, title, description }Feature grid card.
TestimonialItem{ id, quote, name, title?, company?, rating? }Testimonial card content.
FAQItem{ id, question, answer }FAQ accordion entry.
FooterLinkGroup{ id, title, links: { label, href }[] }Footer link column.
SocialLink{ id, icon: LucideIcon, href, label }Footer social icon link.

Notes​

  • Every section (LandingHeader, LandingHero, LandingLogoCloud, LandingFeatures, LandingPricing, LandingTestimonials, LandingFAQ, LandingCTA, LandingFooter) is also exported individually, so you can hand-assemble a custom page layout instead of using LandingPage - see the Storybook "Composable" story.
  • Heading hierarchy is deliberate: Hero renders the page's only <h1>; every other section title is an <h2>, and card-level titles (feature cards) are <h3>.
  • The header, hero, logo cloud, features, testimonials, and FAQ sections are hand-rolled directly in this template (no separate registry entries), since no reusable primitives existed for them at the time this template was built. The pricing and testimonial-card pieces reuse the existing @ignix-ui/pricing-grid and @ignix-ui/testimonial-card components.