ALOHA // NEXTUI
Card
Tropical feature card with a colored icon element, category tag, title, and description. Supports coral, turquoise, yellow, green, and pink color variants.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Card card={{
icon: "๐บ",
tag: "Wellness",
tagVariant: "coral",
title: "Morning ritual",
description: "Start each day with intention.",
}} />Variants
<Card card={{ icon: "๐บ", tag: "Wellness", tagVariant: "coral", title: "Morning ritual", description: "Start each day with intention." }} /><Card card={{ icon: "๐", tag: "Adventure", tagVariant: "turquoise", title: "Surf lessons", description: "Learn to ride the waves." }} /><Card card={{ icon: "๐ธ", tag: "Relaxation", tagVariant: "pink", title: "Spa retreat", description: "Unwind with full-day treatments." }} />Source
TSX
import { cn } from '@/lib/utils'
import type { CardItem } from '@/types'
interface CardProps {
card: CardItem
className?: string
}
const TAG_CLASS: Record<string, string> = {
coral: 'card-tag card-tag--coral',
turquoise: 'card-tag card-tag--turquoise',
yellow: 'card-tag card-tag--yellow',
green: 'card-tag card-tag--green',
pink: 'card-tag card-tag--pink',
}
const ICON_CLASS: Record<string, string> = {
coral: 'card-icon-el card-icon--coral',
turquoise: 'card-icon-el card-icon--turquoise',
yellow: 'card-icon-el card-icon--yellow',
green: 'card-icon-el card-icon--green',
pink: 'card-icon-el card-icon--pink',
}
export function Card({ card, className }: CardProps): React.JSX.Element {
const tagClass = TAG_CLASS[card.tagVariant] ?? 'card-tag card-tag--coral'
const iconClass = ICON_CLASS[card.tagVariant] ?? 'card-icon-el card-icon--coral'
return (
<div className={cn('aloha-card', className)}>
<span className={iconClass}>{card.icon}</span>
<span className={tagClass}>{card.tag}</span>
<h3 className="card-title">{card.title}</h3>
<p className="card-description">{card.description}</p>
</div>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from ALOHA // NEXT
Button
Tropical light-mode button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.
Badge
Tropical badge with coral, turquoise, yellow, green, and pink variants for category tags and labels.
Text
Polymorphic text primitive with body, caption, label, and code variants styled for the ALOHA tropical light palette.