BOOTH // NEXTUI

Card

Composable card with Card, CardHeader, CardBody, and CardFooter sub-components. Warm ivory surfaces with diner-styled borders.

$npx @voltenworks/shipui add card --theme booth
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/booth/demo/components#04-card
Usage
TSX
<Card><CardHeader>Title</CardHeader><CardBody>Content</CardBody><CardFooter>Footer</CardFooter></Card>
Variants
<Card><CardBody>Simple card with body only</CardBody></Card>
<Card><CardHeader>Special</CardHeader><CardBody>Card content here.</CardBody><CardFooter>Read more</CardFooter></Card>
Source
TSX
import { cn } from '@/lib/utils'
import type { CardItem } from '@/types'

interface CardProps {
  card:       CardItem
  className?: string
}

const TAG_CLASS: Record<string, string> = {
  red:    'card-tag card-tag--red',
  teal:   'card-tag card-tag--teal',
  chrome: 'card-tag card-tag--chrome',
  ink:    'card-tag card-tag--ink',
}

export function Card({ card, className }: CardProps): React.JSX.Element {
  const tagClass = TAG_CLASS[card.tagVariant] ?? 'card-tag card-tag--red'

  return (
    <div className={cn('booth-card', className)}>
      <span className="card-icon-el">{card.icon}</span>
      <span className={tagClass}>{card.tag}</span>
      <h3 className="card-title">{card.title}</h3>
      <p className="card-description">{card.description}</p>
    </div>
  )
}
Preview in theme demoGet full theme, $29
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from BOOTH // NEXT
BOOTH // NEXTUI

Button

Retro diner button with primary, secondary, and ghost variants in three sizes. Cherry red accent, bold uppercase labels. Renders as a Next.js Link when an href is provided.

BOOTH // NEXTUI

Badge

Diner-styled badge with four color variants: red, teal, chrome, and ink. Suited for category labels, tags, and status indicators.

BOOTH // NEXTUI

Text

Polymorphic text primitive with body, caption, label, and code variants. Renders as p, span, or div via the `as` prop.