VOW // NEXTUI

Text

Polymorphic text component with body, caption, label, and code variants. Serif display for headings, clean sans for body.

$npx @voltenworks/shipui add text --theme vow
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/vow/demo/components#03-text
Usage
TSX
<Text variant="body">Botanical compositions for ceremonies and gatherings.</Text>
Variants
<Text variant="body">Botanical compositions for ceremonies and gatherings.</Text>
<Text variant="caption">Photography by Studio Bloom</Text>
<Text variant="label">COLLECTION</Text>
<Text variant="code">const arrangement = await getSeasonalCollection()</Text>
Source
TSX
import { cn } from '@/lib/utils'

type TextVariant = 'body' | 'caption' | 'label' | 'code'
type TextElement = 'p' | 'span' | 'div'

const variantClass: Record<TextVariant, string> = {
  body: 'text-body',
  caption: 'text-caption',
  label: 'text-label',
  code: 'text-code',
}

interface TextProps {
  variant: TextVariant
  as?: TextElement
  children: React.ReactNode
  className?: string
}

export function Text({ variant, as: Tag = 'p', children, className }: TextProps): React.JSX.Element {
  return (
    <Tag className={cn(variantClass[variant], className)}>
      {children}
    </Tag>
  )
}
Preview in theme demoGet full theme, $29
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from VOW // NEXT
VOW // NEXTUI

Button

Elegant button with primary, secondary, and ghost variants in three sizes. Burgundy accent, serif labels, refined spacing. Renders as a Next.js Link when an href is provided.

VOW // NEXTUI

Badge

Refined badge with burgundy, gold, sage, ink, and ivory variants. Delicate uppercase tracking for floral and event contexts.

VOW // NEXTUI

Card

Service card with numbered index, title, description, and tag. Clean lines and refined spacing for floral atelier services.