Skip to content

Component library

Every theme ships the same ~27 section components. The visual treatment varies per theme, but the API and the data shape are identical.

Every theme has a /sections/ route that renders every component on one page with example data. It’s the fastest way to browse what you have:

http://localhost:4321/sections/

Use it as a style guide and as a “pick a section to add to my new page” reference.

ComponentUsed forData source
HeroAbove-the-fold marketing heroComponent (hardcoded)
LogoCloud”Trusted by ___” client logo stripComponent
FeaturesFeature grid (3–6 columns)Component
ImageTextSide-by-side image + heading + paragraphComponent
PricingPricing tiers (1–4 plans)Component
TestimonialsQuote cardsComponent
Comparison”Us vs. competitors” tablesiteConfig.comparison
FAQAccordion of common questionsComponent
CTABig “start your trial” call-to-actionComponent
TeamTeam member cardssiteConfig.team
TimelineVertical timeline of milestonessiteConfig.timeline
GalleryImage gridsiteConfig.gallery
CarouselSliding image / quote carouselsiteConfig.carousel
TabsTabbed product breakdownsiteConfig.tabs
AppDownloadiOS / Android badge blocksiteConfig.appDownload
MapEmbedded Google Map + addresssiteConfig.map
VideoYouTube / Vimeo embedsiteConfig.video
StatsBig-number stats rowComponent
NewsletterEmail-capture blocksiteConfig.newsletter
ContactContact formsiteConfig.contactForm
HeaderSticky site headersiteConfig.navigation
FooterSite footersiteConfig.footer, social
Sidebar(long-form pages) sticky TOC sidebarComponent
BlogHeroBlog index hero stripComponent
BlogGridGrid of post cardsgetCollection("blog")
BlogPostBlog post body wrapperMarkdown frontmatter
LegalContentPrivacy / terms wrapper (typographic refinement)Slot
ResourceHubCards-led resource index (newer themes)Component
AppDownloadApp-store badges blocksiteConfig.appDownload
IconInline-SVG icon dispatchername prop

(A few theme-specific extras — Comparison, AppDownload, Map — only appear in themes where they make sense. Check src/components/ in your specific theme for the exact set.)

Hardcoded sections keep their content inside the .astro file. Edit the markup directly. Examples: Hero, Pricing, FAQ, Testimonials, LogoCloud, Features, CTA.

Data-driven sections read from siteConfig. Edit a block in src/config/site.ts and the section updates. Examples: Team, Timeline, Comparison, Gallery, Carousel, Tabs, AppDownload, Map, Video, Newsletter, Contact.

See Customize → Section data for the full data shapes.

Drop the import + the component into any .astro file:

src/pages/launch.astro
---
import Layout from "~/layouts/Layout.astro";
import Header from "~/components/Header.astro";
import Hero from "~/components/Hero.astro";
import Pricing from "~/components/Pricing.astro";
import FAQ from "~/components/FAQ.astro";
import Footer from "~/components/Footer.astro";
---
<Layout title="Aurora 2.0 — Launch">
<Header />
<main id="main">
<Hero />
<Pricing />
<FAQ />
</main>
<Footer />
</Layout>