Feature Card
MarketingA large feature showcase card with text, demo area, and optional callouts. Use it on marketing pages, landing pages, and feature tours.
Preview
Default
Ship features faster
Build and iterate on product features with a design system that scales with your team.
Reversed with CTA
Real-time collaboration
Work together with your team in real time. See changes as they happen.
Learn moreWith callouts
Built for developers
A component library that respects your workflow and gets out of your way.
Composable
Build complex layouts from simple primitives.
Fast
Optimized for performance out of the box.
Accessible
Keyboard navigation and screen reader support.
Without window shell
Full bleed content
Remove the window shell to let your demo content fill the entire area.
Your content here
Install
Add this block from the Airy registry:
npx shadcn@latest add @airy/feature-cardUsage
Import the component:
import { FeatureCard } from "@/components/blocks/cards/feature-card"Basic usage:
<FeatureCard
id="my-feature"
title="Your feature title"
description="A description of what this feature does."
demoContent={<YourDemoComponent />}
/>Props
interface FeatureCardProps {
id: string
title: string
description: string
icon?: LucideIcon
color?: string // CTA link color
ctaText?: string // CTA label
ctaLink?: string // CTA href
reversed?: boolean // Flip text/demo sides
backgroundGradient?: string // CSS gradient for demo bg
backgroundImage?: string // Image URL for demo bg
withDemoWindow?: boolean // Wrap demo in window shell (default: true)
demoWindowClassName?: string
callouts?: Callout[] // Cards below the main content
demoContent?: ReactNode // Custom demo content
className?: string
}
interface Callout {
icon: LucideIcon
title: string
description: string
}