GLASS // NEXTUI
Card
Composable glassmorphism card container with frosted-glass surface and header, body, and footer sub-components.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Card card={{
icon: "◈",
tag: "Analytics",
tagVariant: "cyan",
title: "Real-time metrics",
description: "Live data with zero latency.",
}} />Variants
<Card card={{ icon: "◈", tag: "Analytics", tagVariant: "cyan", title: "Real-time metrics", description: "Live data with zero latency." }} /><Card card={{ icon: "⬡", tag: "Storage", tagVariant: "indigo", title: "Distributed cache", description: "Sub-millisecond reads globally." }} /><Card card={{ icon: "◉", tag: "Uptime", tagVariant: "emerald", title: "99.99% SLA", description: "Guaranteed availability worldwide." }} />Source
TSX
import { cn } from '@/lib/utils'
import type { CardItem } from '@/types'
interface CardProps {
card: CardItem
className?: string
}
const TAG_CLASS: Record<string, string> = {
sky: 'card-tag card-tag--sky',
indigo: 'card-tag card-tag--indigo',
cyan: 'card-tag card-tag--cyan',
violet: 'card-tag card-tag--violet',
emerald: 'card-tag card-tag--emerald',
}
const ICON_CLASS: Record<string, string> = {
sky: 'card-icon-el card-icon--sky',
indigo: 'card-icon-el card-icon--indigo',
cyan: 'card-icon-el card-icon--cyan',
violet: 'card-icon-el card-icon--violet',
emerald: 'card-icon-el card-icon--emerald',
}
export function Card({ card, className }: CardProps): React.JSX.Element {
const tagClass = TAG_CLASS[card.tagVariant] ?? 'card-tag card-tag--sky'
const iconClass = ICON_CLASS[card.tagVariant] ?? 'card-icon-el card-icon--sky'
return (
<div className={cn('glass-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 GLASS // NEXT
Button
Glassmorphism button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.
Badge
Frosted-glass badge with sky, indigo, cyan, violet, and emerald variants for tags and status indicators.
Text
Polymorphic text primitive with body, caption, label, and code variants styled for the GLASS dark glassmorphism palette.