Showcase Card
BlockBasic Usage
Loading...
Installation
pnpm add @corew500/uiUsage
import { ShowcaseCard } from "@corew500/ui/blocks/showcase-card"
<ShowcaseCard>Content</ShowcaseCard>API Reference
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| title* | string | — | Card title (required) |
| subtitle | string | — | Short subtitle or tagline |
| description | string | — | Description text (line-clamped to 3 lines) |
| logo | ShowcaseCardLogo | — | Logo image configuration. Use `logoSlot` for framework-specific images. |
| logoSlot | enum | — | Custom logo slot for framework-specific images (e.g., Next.js Image). Takes precedence over `logo`. |
| topBadges | ShowcaseCardBadge[] | — | Badges displayed at the top of the card (e.g., Featured, Category) |
| metadata | ShowcaseCardMetadata[] | — | Key-value metadata displayed as a dot-separated row |
| tagGroups | ShowcaseCardTagGroup[] | — | Labelled groups of tag badges (e.g., Products, Certifications) |
| highlight | ShowcaseCardBadge | — | Single highlight badge (e.g., metrics, achievement) |
| actions | ShowcaseCardAction[] | — | Action buttons displayed at the bottom of the card |
| featured | enum | false | Whether this item is featured (adds ring styling) |
| layout | enum | vertical | — |
Accessibility
Additional
- - Card structure uses semantic heading hierarchy (CardTitle)
- Logo images require alt text via `logo.alt` or in `logoSlot`
- Action buttons have accessible labels
- Badge groups use semantic HTML (label + list)
Localization
Translatable Content
- - All text props should be pre-translated
- Badge text, tag group labels, metadata labels/values all customizable