HAIKU // NEXTUI
Seal
Circular hanko-style seal displaying a kanji character with an optional label. Available in red and neutral variants at configurable sizes.
$
Or install the base component for free:
Live Preview
Open full demoUsage
TSX
<Seal kanji="和" label="Harmony" variant="red" size={80} />Variants
<Seal kanji="和" label="Harmony" variant="red" size={80} /><Seal kanji="静" label="Stillness" variant="neutral" size={80} /><Seal kanji="道" variant="red" size={64} />Source
TSX
import { cn } from '@/lib/utils'
interface SealProps {
kanji: string
label?: string
size?: number
variant?: 'red' | 'neutral'
className?: string
}
export function Seal({
kanji,
label,
size = 80,
variant = 'neutral',
className,
}: SealProps): React.JSX.Element {
const isRed = variant === 'red'
return (
<div
className={cn('haiku-seal', isRed ? '' : 'haiku-seal-neutral', className)}
style={{ width: size, height: size }}
aria-hidden="true"
>
<span
className={cn('seal-kanji', isRed ? '' : 'seal-kanji-neutral')}
style={{ fontSize: size * 0.45 }}
>
{kanji}
</span>
{label && (
<span className={cn('seal-label', isRed ? '' : 'seal-label-neutral')}>
{label}
</span>
)}
</div>
)
}
Works withNext.js 15React 19Tailwind v4TypeScript 5
More from HAIKU // NEXT
Button
Japanese-inspired light-mode button with primary, secondary, and ghost variants in three sizes. Renders as a Next.js Link when an href is provided.
Badge
Minimalist badge for tags and labels in the HAIKU Japanese-inspired light palette.
Card
Composable light card with header, body, and footer sub-components in the HAIKU minimal Japanese aesthetic.
Pullquote
Serene editorial blockquote with a ruled left accent, typographic quote marks, and an optional attribution citation.
Text
Polymorphic text primitive with body, caption, label, and code variants styled for the HAIKU minimal Japanese light palette.