DINK // NEXTUI
Card
Feature card with icon, badge, title, and description. Bold borders and flat offset shadow on a cream background.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Card card={{ icon: "🎨", tag: "Design", tagVariant: "yellow", title: "Styled out of the box", description: "Every component is production-ready." }} />Source
TSX
import { cn } from '@/lib/utils'
import { Badge } from '@/components/ui/Badge'
import type { CardItem } from '@/types'
interface CardProps {
card: CardItem
className?: string
}
const ICON_CLASS: Record<CardItem['tagVariant'], string> = {
yellow: 'feature-icon feature-icon--yellow',
cobalt: 'feature-icon feature-icon--cobalt',
coral: 'feature-icon feature-icon--coral',
green: 'feature-icon feature-icon--green',
}
export function Card({ card, className }: CardProps): React.JSX.Element {
const iconClass = ICON_CLASS[card.tagVariant] ?? 'feature-icon feature-icon--yellow'
return (
<div className={cn('dink-feature-card', className)}>
<span className={iconClass}>{card.icon}</span>
<Badge variant={card.tagVariant}>{card.tag}</Badge>
<h3 className="feature-title">{card.title}</h3>
<p className="feature-desc">{card.description}</p>
</div>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from DINK // NEXT
Button
Retro-toy button with bold 3px borders and flat offset shadows. Solid, outline, and ghost variants in a playful cream and cobalt palette.
Badge
Pill badge with bold borders and color variants. Yellow, cobalt, coral, and green options for retro-toy labeling.
Text
Typography utility with heading, body, caption, and code variants. Fredoka display font for headings, DM Sans for body text.