RETRO // NEXTUI

Text

Polymorphic text primitive with body, caption, label, and code variants styled for the RETRO dark arcade palette.

$npx @voltenworks/shipui add text --theme retro
Or install the base component for free:
Live Preview
Open full demo
voltenworks.com/shipui/retro/demo/components#03-text
Usage
TSX
<Text variant="label" as="span">PLAYER ONE</Text>
Variants
<Text variant="body">Body copy renders here.</Text>
<Text variant="caption" as="span">Stage 1 of 8</Text>
<Text variant="label" as="span">PLAYER ONE</Text>
<Text variant="code" as="span">0xFF00A8</Text>
Source
TSX
import { cn } from '@/lib/utils'

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

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

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

export function Text({ children, variant = 'body', as: Tag = 'p', 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 RETRO // NEXT
RETRO // NEXTUI

Button

Arcade-styled button with neon green, magenta, cyan, and yellow variants in three sizes. Renders as a Next.js Link when an href is provided.

RETRO // NEXTUI

Badge

Neon-glow badge with magenta, cyan, yellow, and green color variants. Used for category tags and status labels in the arcade aesthetic.

RETRO // NEXTUI

Card

Game-card component with neon-colored icon, tag, title, description, and a five-star rating display. Supports a "coming soon" locked overlay state.

RETRO // NEXTUI

PixelCharacter

SVG pixel-art sprite with three variants: hero (neon green), ghost (magenta), and coin (yellow). Supports a CSS float animation and configurable size.

RETRO // NEXTUI

ScoreBoard

High-scores leaderboard that renders as a table on desktop and as stacked cards on mobile. Highlights ranks 1-3 with distinct neon color classes.

RETRO // NEXTUI

SectionHeader

Section heading block with a numbered label, a two-part heading where the last word is accented in neon, and an optional subtitle. Supports left or center alignment.

RETRO // NEXTUI

StatBlock

Single-stat display with a large pixel-font value in neon cyan and a label below. Wrapped in a pixel-border container for the arcade aesthetic.