// Generated by scripts/generate-showcase.mjs. Do not edit directly. page FeatureCardDetail { layout = "showcase" state playground_icon = ctx.url.searchParams.get("pg_icon") ?? "" state playground_iconStyle = ctx.url.searchParams.get("pg_iconStyle") ?? "soft" state playground_iconSize = ctx.url.searchParams.get("pg_iconSize") ?? "default" state playground_eyebrow = ctx.url.searchParams.get("pg_eyebrow") ?? "" state playground_title = ctx.url.searchParams.get("pg_title") ?? "Feature Card example" state playground_description = ctx.url.searchParams.get("pg_description") ?? "A polished default feature card for a modern application." state playground_image = ctx.url.searchParams.get("pg_image") ?? "" state playground_imageAlt = ctx.url.searchParams.get("pg_imageAlt") ?? "" state playground_imagePosition = ctx.url.searchParams.get("pg_imagePosition") ?? "top" state playground_imageAspect = ctx.url.searchParams.get("pg_imageAspect") ?? "wide" state playground_imageLoading = ctx.url.searchParams.get("pg_imageLoading") ?? "lazy" state playground_href = ctx.url.searchParams.get("pg_href") ?? "#feature-card-demo" state playground_target = ctx.url.searchParams.get("pg_target") ?? "" state playground_rel = ctx.url.searchParams.get("pg_rel") ?? "" state playground_external = (ctx.url.searchParams.get("pg_external") ?? "false") === "true" state playground_actionLabel = ctx.url.searchParams.get("pg_actionLabel") ?? "Feature Card" state playground_actionIcon = ctx.url.searchParams.get("pg_actionIcon") ?? "" state playground_showArrow = (ctx.url.searchParams.get("pg_showArrow") ?? "true") === "true" state playground_stretchedLink = (ctx.url.searchParams.get("pg_stretchedLink") ?? "true") === "true" state playground_badge = ctx.url.searchParams.get("pg_badge") ?? "" state playground_badgeColor = ctx.url.searchParams.get("pg_badgeColor") ?? "primary" state playground_size = ctx.url.searchParams.get("pg_size") ?? "default" state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary" state playground_variant = ctx.url.searchParams.get("pg_variant") ?? "default" state playground_hover = ctx.url.searchParams.get("pg_hover") ?? "lift" state playground_align = ctx.url.searchParams.get("pg_align") ?? "start" state playground_disabled = (ctx.url.searchParams.get("pg_disabled") ?? "false") === "true" state playground_class = ctx.url.searchParams.get("pg_class") ?? "showcase-instance showcase-instance--1" seo { title = "Feature Card" description = "Present one linked feature or service with media, icon, badge, description, and action." } view {
Marketing component

Feature Card

Present one linked feature or service with media, icon, badge, description, and action.

28 props4 slots0 outputsTheme readyResponsive
Interactive playground

Configure Feature Card

Change any prop and inspect the server-rendered component immediately.

Live preview
Component code
<FeatureCard
  title="Feature Card example"
  description="A polished default feature card for a modern application."
  href="#feature-card-demo"
  actionLabel="Feature Card"
  align="start">
  <div data-slot="media">
    <div class="showcase-slot">media slot</div>
  </div>
  <div data-slot="icon">
    <div class="showcase-slot">icon slot</div>
  </div>
  <div data-slot="footer">
    <div class="showcase-slot">footer slot</div>
  </div>
</FeatureCard>
Component props28 controls
Live examples

Designed for real product surfaces

Compare configurations and resize the browser to check responsive behavior.

Recommended

Linked service card

Present one service with an icon, hierarchy, badge, and clear action.

01
Live preview
Component usage.wrn
<FeatureCard
  icon="icon-[lucide--shield-check]"
  eyebrow="Citizen support"
  title="Citizen services"
  description="Report incidents, request certificates, and find safety information."
  href="#citizen-services"
  actionLabel="Explore services"
  badge="Public"
  align="start">
  <div data-slot="media">
    <div class="showcase-slot">media slot</div>
  </div>
  <div data-slot="icon">
    <div class="showcase-slot">icon slot</div>
  </div>
  <div data-slot="footer">
    <div class="showcase-slot">footer slot</div>
  </div>
</FeatureCard>
Compact

Image-led feature card

Use a visual preview for products, campaigns, dashboards, or service explanations.

02
Live preview
Component usage.wrn
<FeatureCard
  icon="icon-[lucide--arrow-right]"
  title="Unified citizen portal"
  description="Access trusted services from one responsive interface."
  image="/showcase-images/dashboard-preview.svg"
  imageAlt="Abstract dashboard preview"
  href="#portal"
  actionLabel="Open portal"
  badge="Featured"
  size="sm"
  color="info"
  variant="raised"
  align="center">
  <div data-slot="media">
    <div class="showcase-slot">media slot</div>
  </div>
  <div data-slot="icon">
    <div class="showcase-slot">icon slot</div>
  </div>
  <div data-slot="footer">
    <div class="showcase-slot">footer slot</div>
  </div>
</FeatureCard>
Advanced

Solid callout card

Use stronger contrast for a featured capability or high-priority service.

03
Live preview
Component usage.wrn
<FeatureCard
  icon="icon-[lucide--siren]"
  eyebrow="Emergency"
  title="Get urgent help"
  description="Find verified emergency contacts and immediate safety guidance."
  href="#emergency"
  actionLabel="View emergency help"
  badge="Important"
  size="lg"
  color="danger"
  variant="solid"
  hover="glow"
  align="end">
  <div data-slot="media">
    <div class="showcase-slot">media slot</div>
  </div>
  <div data-slot="icon">
    <div class="showcase-slot">icon slot</div>
  </div>
  <div data-slot="footer">
    <div class="showcase-slot">footer slot</div>
  </div>
</FeatureCard>
Component API

Props and configuration

All content and behavior shown above is supplied through these props and slots.

PropTypeDefaultRequired
iconstring""No
iconStylestring"soft"No
iconSizestring"default"No
eyebrowstring""No
titlestring"Feature"No
descriptionstring""No
imagestring""No
imageAltstring""No
imagePositionstring"top"No
imageAspectstring"wide"No
imageLoadingstring"lazy"No
hrefstring""No
targetstring""No
relstring""No
externalbooleanfalseNo
actionLabelstring"Learn more"No
actionIconstring""No
showArrowbooleantrueNo
stretchedLinkbooleantrueNo
badgestring""No
badgeColorstring"primary"No
sizestring"default"No
colorstring"primary"No
variantstring"default"No
hoverstring"lift"No
alignstring"left"No
disabledbooleanfalseNo
classstring""No
} }