Skip to content
Last updated

CardsFeatured Pattern

A section pattern that displays a heading, description, and a responsive grid of CardImage components. Follows the "Logo Rectangle Grid" design from Figma.

Features

  • Responsive grid layout (1 column mobile, 2 tablet, 3 desktop)
  • Heading with h-md typography (Tobias Light)
  • Description with body-l typography (Booton Light)
  • Proper spacing using PageGrid for container and alignment
  • Full dark mode support

Usage

import { CardsFeatured } from 'shared/sections/CardsFeatured';

<CardsFeatured
  heading="Trusted by Leaders in Real-World Asset Tokenization"
  description="Powering institutions and builders who are bringing real world assets on chain at global scale."
  cards={[
    {
      image: "/img/docs.png",
      imageAlt: "Documentation",
      title: "Documentation",
      subtitle: "Access everything you need to get started working with the XRPL.",
      buttonLabel: "Get Started",
      href: "/docs"
    },
    {
      image: "/img/tutorials.png",
      imageAlt: "Tutorials",
      title: "Tutorials",
      subtitle: "Step-by-step guides to help you build on the XRP Ledger.",
      buttonLabel: "View Tutorials",
      href: "/tutorials"
    },
    // ... more cards
  ]}
/>

Props

PropTypeRequiredDescription
headingReact.ReactNodeYesSection heading text
descriptionReact.ReactNodeYesSection description text
cardsCardsFeaturedCardConfig[]YesArray of card configurations (uses CardImageProps)
classNamestringNoAdditional CSS class names

CardsFeaturedCardConfig

Each card in the cards array accepts all props from CardImageProps:

PropTypeRequiredDescription
imagestringYesImage URL
imageAltstringYesImage alt text
titlestringYesCard title
subtitlestringNoCard subtitle/description
buttonLabelstringNoButton text
hrefstringNoLink URL

Responsive Behavior

BreakpointGrid ColumnsVertical Padding
Mobile (< 768px)1 column48px
Tablet (768px - 1199px)2 columns64px
Desktop (≥ 1200px)3 columns80px

Design Tokens

Colors

ModeElementColor
LightHeading$black (#141414)
LightDescription$black (#141414)
DarkHeading$white (#FFFFFF)
DarkDescription$white (#FFFFFF)

Spacing

  • Header gap (heading to description): 8px mobile/tablet, 16px desktop
  • Section gap (header to cards): 24px mobile, 32px tablet, 40px desktop
  • Cards gap: 48px mobile (vertical), 8px tablet/desktop

CSS Classes

ClassDescription
.bds-cards-featuredBase section container
.bds-cards-featured__headerHeader wrapper for heading and description
.bds-cards-featured__headingSection heading (uses .h-md)
.bds-cards-featured__descriptionSection description (uses .body-l)
.bds-cards-featured__cardsCards grid container
.bds-cards-featured__card-wrapperIndividual card wrapper

Showcase

View the pattern showcase at: /about/cards-featured-showcase