Skip to main content

Typography

Each element of the scale has its own component, so you don't have to worry about setting the right styles for each text.

Although each component has its default values, you are always free to override these values according to your needs.

Large Title

The Art of Modern Design

Building Better Experiences

Innovation Through Simplicity

Creating Digital Harmony

Typography Matters

import { VStack, LargeTitle } from "@spirokit/ui";

const LargeTitleComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<LargeTitle>The Art of Modern Design</LargeTitle>

{/* Font weight: Semibold */}
<LargeTitle fontWeight="$semibold">
Building Better Experiences
</LargeTitle>

{/* Font weight: Medium */}
<LargeTitle fontWeight="$medium">
Innovation Through Simplicity
</LargeTitle>

{/* Font weight: Normal */}
<LargeTitle fontWeight="$normal">Creating Digital Harmony</LargeTitle>

{/* Letter spacing: 3xl */}
<LargeTitle letterSpacing="$3xl">Typography Matters</LargeTitle>
</VStack>
);
};

Title One

Crafting Memorable Interfaces

Design System Excellence

User-Centered Approach

Pixels with Purpose

Beautiful Typography

import { VStack, TitleOne } from "@spirokit/ui";

const TitleOneComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<TitleOne>Crafting Memorable Interfaces</TitleOne>

{/* Font weight: Semibold */}
<TitleOne fontWeight="$semibold">Design System Excellence</TitleOne>

{/* Font weight: Medium */}
<TitleOne fontWeight="$medium">User-Centered Approach</TitleOne>

{/* Font weight: Normal */}
<TitleOne fontWeight="$normal">Pixels with Purpose</TitleOne>

{/* Letter spacing: 3xl */}
<TitleOne letterSpacing="$3xl">Beautiful Typography</TitleOne>
</VStack>
);
};

Title Two

Designing for Tomorrow

Motion and Meaning

Form Meets Function

Creative Solutions

Digital Excellence

import { VStack, TitleTwo } from "@spirokit/ui";

const TitleTwoComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<TitleTwo>Designing for Tomorrow</TitleTwo>

{/* Font weight: Bold */}
<TitleTwo fontWeight="$bold">Motion and Meaning</TitleTwo>

{/* Font weight: Semibold */}
<TitleTwo fontWeight="$semibold">Form Meets Function</TitleTwo>

{/* Font weight: Normal */}
<TitleTwo fontWeight="$normal">Creative Solutions</TitleTwo>

{/* Letter spacing: 2xl */}
<TitleTwo letterSpacing="$2xl">Digital Excellence</TitleTwo>
</VStack>
);
};

Title Three

Attention to Detail

Interactive Storytelling

Visual Hierarchy

Modern Aesthetics

Refined Typography

import { VStack, TitleThree } from "@spirokit/ui";

const TitleThreeComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<TitleThree>Attention to Detail</TitleThree>

{/* Font weight: Bold */}
<TitleThree fontWeight="$bold">Interactive Storytelling</TitleThree>

{/* Font weight: Semibold */}
<TitleThree fontWeight="$semibold">Visual Hierarchy</TitleThree>

{/* Font weight: Normal */}
<TitleThree fontWeight="$normal">Modern Aesthetics</TitleThree>

{/* Letter spacing: 2xl */}
<TitleThree letterSpacing="$2xl">Refined Typography</TitleThree>
</VStack>
);
};

Body

Great design is about finding the perfect balance between aesthetics and functionality.

Typography is the voice of your visual design, speaking volumes before words are read.

Every pixel matters when crafting experiences that users will remember.

Consistency creates confidence in design.

import { Body, VStack } from "@spirokit/ui";

const BodyComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<Body>
Great design is about finding the perfect balance between aesthetics
and functionality.
</Body>

{/* Font weight: Bold */}
<Body fontWeight="$bold">
Typography is the voice of your visual design, speaking volumes before
words are read.
</Body>

{/* Font weight: Semibold */}
<Body fontWeight="$semibold">
Every pixel matters when crafting experiences that users will remember.
</Body>

{/* Letter spacing: 3xl */}
<Body letterSpacing="$3xl">
Consistency creates confidence in design.
</Body>
</VStack>
);
};

Subhead

Exploring the intersection of design and technology

Building bridges between users and interfaces

Where creativity meets code elegantly

Design systems at scale

import { VStack, Subhead } from "@spirokit/ui";

const SubheadComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<Subhead>Exploring the intersection of design and technology</Subhead>

{/* Font weight: Bold */}
<Subhead fontWeight="$bold">
Building bridges between users and interfaces
</Subhead>

{/* Font weight: Semibold */}
<Subhead fontWeight="$semibold">
Where creativity meets code elegantly
</Subhead>

{/* Letter spacing: 3xl */}
<Subhead letterSpacing="$3xl">Design systems at scale</Subhead>
</VStack>
);
};

Footnote

Last updated: December 2024

Published by Design Team

Version 2.0 - Stable Release

Documentation in progress

import { VStack, Footnote } from "@spirokit/ui";

const FootnoteComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<Footnote>Last updated: December 2024</Footnote>

{/* Font weight: Bold */}
<Footnote fontWeight="$bold">Published by Design Team</Footnote>

{/* Font weight: Semibold */}
<Footnote fontWeight="$semibold">Version 2.0 - Stable Release</Footnote>

{/* Letter spacing: xl */}
<Footnote letterSpacing="$xl">Documentation in progress</Footnote>
</VStack>
);
};

Caption

Image courtesy of Unsplash

Figure 1: Component Architecture

Source: Design Guidelines 2024

Table 1: Typography Scale

import { VStack, Caption } from "@spirokit/ui";

const CaptionComponent = () => {
return (
<VStack gap="$4" width="$full">
{/* Default */}
<Caption>Image courtesy of Unsplash</Caption>

{/* Font weight: Bold */}
<Caption fontWeight="$bold">Figure 1: Component Architecture</Caption>

{/* Font weight: Semibold */}
<Caption fontWeight="$semibold">Source: Design Guidelines 2024</Caption>

{/* Letter spacing: 3xl */}
<Caption letterSpacing="$3xl">Table 1: Typography Scale</Caption>
</VStack>
);
};