A flexible card component featuring an icon, title, body text, and clickable link with multiple layout and styling options.
Usage
{{ include('dripyard_base:icon-card', {
icon: 'cloud',
title: 'Cloud Services',
body: 'Lorem ipsum dolor sit amet consectetur adipisicing elit.',
href: 'https://example.com',
layout: 'portrait',
icon_size: 'large',
no_background: false
}, with_context = false) }}
Props
| Property | Type | Required | Description |
|---|---|---|---|
icon |
string | Yes | Icon name from FontAwesome set |
title |
string | Yes | Card title text |
href |
string | No | Link URL (uri-reference format) - makes the entire card clickable |
body |
string | No | Body text content (max 125 characters) |
no_background |
boolean | No | Remove background styling |
layout |
string | No | Layout orientation: portrait (default), landscape |
icon_size |
string | No | Icon size: small (32px), medium (48px), large (64px) |
CSS Custom Properties
--icon-card-surface-color- Background color for the card--icon-card-text-color- Color for body text--icon-card-title-color- Color for the title--icon-card-link-color- Color for link elements--icon-card-icon-color- Color for the icon--icon-card-hover-box-shadow-color- Shadow color on hover
Layout Options
Portrait Layout (default)
- Icon position: Above the text content
- Content flow: Vertical column layout
- Title behavior: Auto margin for bottom alignment
Landscape Layout
- Icon position: Left side of the text content
- Content flow: Horizontal row layout
- Gap: Larger spacing (24px) between icon and content
Icon Sizing
- Small: 32px icon size
- Medium: 48px icon size (default)
- Large: 64px icon size
Visual Effects
- Hover animation: Box shadow appears on link hover
- Transition: Smooth 0.2s box shadow transition
- Link overlay: Entire card is clickable via positioned pseudo-element
- Background options: Standard background or transparent
Accessibility Features
- Semantic markup: Uses
<article>element for card structure - Proper heading: Title uses h3 for semantic hierarchy
- Link accessibility: Entire card is clickable with proper focus states
- Color contrast: Uses theme color variables for accessibility compliance
Integration
- Icon component: Uses the theme's icon component for FontAwesome icons
- Theme system: Integrates with theme color and spacing variables
- Responsive design: Flexible layout adapts to container constraints
- Content limits: Body text limited to 125 characters for optimal display
- Rich content: Strips HTML tags from body field except for
strong,p,br, andem.