VaneUI

VaneUI

Typography Components

SectionTitle

A component for rendering headings of major sections within a page. It helps to create a clear and accessible document structure.

SourceEdit this page

Renders a section heading (<h2> by default) to mark the major divisions of a page. Pair it with PageTitle (<h1>) for the page heading and Title (<h3>) for subsection headings to keep the document outline aligned with the visual hierarchy.

Basic SectionTitle

A heading component (renders as <h2>) for major section headings. Defaults to semibold weight, heading font family, inherit appearance, and left-aligned text.

Getting Started

react-icon
<SectionTitle>Getting Started</SectionTitle>

PageTitle vs SectionTitle vs Title

Three heading components for a clean semantic hierarchy.

Page Heading (h1)

Section Heading (h2)

Subsection Heading (h3)

react-icon
<Col>
<PageTitle>Page Heading (h1)</PageTitle>
<SectionTitle>Section Heading (h2)</SectionTitle>
<Title>Subsection Heading (h3)</Title>
</Col>

SectionTitle Sizes

Section titles come in five sizes: xs, sm, md (default), lg, xl.

Extra Small Section Title

Small Section Title

Medium Section Title (default)

Large Section Title

Extra Large Section Title

react-icon
<Col>
<SectionTitle xs>Extra Small Section Title</SectionTitle>
<SectionTitle sm>Small Section Title</SectionTitle>
<SectionTitle>Medium Section Title (default)</SectionTitle>
<SectionTitle lg>Large Section Title</SectionTitle>
<SectionTitle xl>Extra Large Section Title</SectionTitle>
</Col>

SectionTitle Appearances

By default, SectionTitle uses the inherit appearance — it inherits color from its parent. Use explicit appearances like primary, secondary, success, warning, danger, info to override.

Primary Section Title

Secondary Section Title

Success Section Title

Warning Section Title

Danger Section Title

Info Section Title

react-icon
<Col>
<SectionTitle primary>Primary Section Title</SectionTitle>
<SectionTitle secondary>Secondary Section Title</SectionTitle>
<SectionTitle success>Success Section Title</SectionTitle>
<SectionTitle warning>Warning Section Title</SectionTitle>
<SectionTitle danger>Danger Section Title</SectionTitle>
<SectionTitle info>Info Section Title</SectionTitle>
</Col>

Font Weights

SectionTitle is semibold by default. Override with any weight prop: thin, extralight, light, normal, medium, semibold, bold, extrabold, black.

Light Section Title

Normal Section Title

Medium Section Title

Semibold Section Title (default)

Bold Section Title

Black Section Title

react-icon
<Col>
<SectionTitle light>Light Section Title</SectionTitle>
<SectionTitle normal>Normal Section Title</SectionTitle>
<SectionTitle medium>Medium Section Title</SectionTitle>
<SectionTitle>Semibold Section Title (default)</SectionTitle>
<SectionTitle bold>Bold Section Title</SectionTitle>
<SectionTitle black>Black Section Title</SectionTitle>
</Col>

Font Families

Switch between sans, serif, and mono font families.

Sans-serif Section Title

Serif Section Title

Monospace Section Title

react-icon
<Col>
<SectionTitle sans>Sans-serif Section Title</SectionTitle>
<SectionTitle serif>Serif Section Title</SectionTitle>
<SectionTitle mono>Monospace Section Title</SectionTitle>
</Col>

Italic SectionTitle

Use the italic prop for italic emphasis.

Italic Section Title

react-icon
<SectionTitle italic>Italic Section Title</SectionTitle>

Uppercase SectionTitle

Use the uppercase prop to render the title in all caps.

Uppercase Section Title

react-icon
<SectionTitle uppercase>Uppercase Section Title</SectionTitle>

Text Alignment

SectionTitle is left-aligned by default. Use textCenter, textRight, or textJustify to change alignment.

Left Aligned (default)

Center Aligned

Right Aligned

react-icon
<Col>
<SectionTitle>Left Aligned (default)</SectionTitle>
<SectionTitle textCenter>Center Aligned</SectionTitle>
<SectionTitle textRight>Right Aligned</SectionTitle>
</Col>

Custom HTML Tag

Override the rendered tag with the tag prop when the visual style of SectionTitle is wanted but a different semantic level is required.

Rendered as h1

Rendered as h2 (default)

Rendered as h3

Rendered as h4

react-icon
<Col>
<SectionTitle tag="h1">Rendered as h1</SectionTitle>
<SectionTitle>Rendered as h2 (default)</SectionTitle>
<SectionTitle tag="h3">Rendered as h3</SectionTitle>
<SectionTitle tag="h4">Rendered as h4</SectionTitle>
</Col>

SectionTitle in a Section

SectionTitle is designed to head a <Section>. Use them together so the visual structure matches the semantic outline.

Installation

Install VaneUI using npm or yarn.

Usage

Import components and start building.

react-icon
<Col>
<Section>
<SectionTitle>Installation</SectionTitle>
<Text>Install VaneUI using npm or yarn.</Text>
</Section>
<Section>
<SectionTitle>Usage</SectionTitle>
<Text>Import components and start building.</Text>
</Section>
</Col>

SectionTitle in Context

Section titles work well with other typography components in cards.

Product Features

Everything you need to build modern applications.

Performance

Optimized for speed and efficiency.

Accessibility

Built with ARIA best practices.

react-icon
<Card>
<SectionTitle lg primary>Product Features</SectionTitle>
<Text secondary>Everything you need to build modern applications.</Text>
<SectionTitle sm>Performance</SectionTitle>
<Text>Optimized for speed and efficiency.</Text>
<SectionTitle sm>Accessibility</SectionTitle>
<Text>Built with ARIA best practices.</Text>
</Card>

Section Header Pattern

Combine SectionTitle with Divider and content for a structured section.

Getting Started

Follow the steps below to set up your project.

Configuration

Customize the settings to match your requirements.

react-icon
<Col>
<SectionTitle primary>Getting Started</SectionTitle>
<Divider />
<Text>Follow the steps below to set up your project.</Text>
<SectionTitle primary>Configuration</SectionTitle>
<Divider />
<Text>Customize the settings to match your requirements.</Text>
</Col>

SectionTitle Props

PropCategoryDefaultDescription
accent

Appearance

Accent color appearance (rose)

brand

Appearance

Brand color appearance (blue)

danger

Appearance

Danger color appearance (red)

info

Appearance

Info color appearance (cyan)

inherit

Appearance

Inherit appearance from parent — suppresses own data-appearance/data-variant, uses parent's CSS variables

link

Appearance

Link color appearance (blue, for hyperlinks)

primary

Appearance

Primary color appearance (gray)

secondary

Appearance

Secondary color appearance (gray)

success

Appearance

Success color appearance (green)

tertiary

Appearance

Tertiary color appearance

warning

Appearance

Warning color appearance (amber)

heading

Font Family

Heading font family (defaults to sans, independently customizable via --font-heading CSS variable)

mono

Font Family

Monospace font family

sans

Font Family

Sans-serif font family (default)

serif

Font Family

Serif font family

italic

Font Style

Italic font style

notItalic

Font Style

Not italic (normal) font style

black

Font Weight

Black font weight (900)

bold

Font Weight

Bold font weight (700)

extrabold

Font Weight

Extra bold font weight (800)

extralight

Font Weight

Extra light font weight (200)

light

Font Weight

Light font weight (300)

medium

Font Weight

Medium font weight (500)

normal

Font Weight

Normal font weight (400)

semibold

Font Weight

Semibold font weight (600)

thin

Font Weight

Thin font weight (100)

inheritColor

Inherit Color

Inherit text color from parent via CSS variable cascade (suppresses data-appearance emission)

noInheritColor

Inherit Color

Keep own text color; do not inherit from parent

inheritSize

Inherit Size

Inherit font-size and line-height from the nearest parent typography element

noInheritSize

Inherit Size

Keep own font-size; do not inherit from parent

trackingNormal

Letter Spacing

Normal letter spacing (0)

trackingTight

Letter Spacing

Tight letter spacing (-0.025em)

trackingTighter

Letter Spacing

Tighter letter spacing (-0.05em)

trackingWide

Letter Spacing

Wide letter spacing (0.025em)

trackingWider

Letter Spacing

Wider letter spacing (0.05em)

trackingWidest

Letter Spacing

Widest letter spacing (0.1em)

lg

Size

Large size

md

Size

Medium size (default)

sm

Size

Small size

xl

Size

Extra large size

xs

Size

Extra small size

textCenter

Text Align

Align text to center

textJustify

Text Align

Justify text

textLeft

Text Align

Align text to left

textRight

Text Align

Align text to right

lineThrough

Text Decoration

Add strikethrough/line-through decoration across text

noUnderline

Text Decoration

Remove text decoration (no underline, strikethrough, etc.)

overline

Text Decoration

Add overline decoration above text

underline

Text Decoration

Add underline decoration below text

capitalize

Text Transform

Capitalize first letter of each word

lowercase

Text Transform

Transform text to lowercase

normalCase

Text Transform

Normal text case (no transformation)

uppercase

Text Transform

Transform text to uppercase

lineClamp2

Truncate

Truncate at 2 lines with ellipsis

lineClamp3

Truncate

Truncate at 3 lines with ellipsis

lineClamp4

Truncate

Truncate at 4 lines with ellipsis

lineClamp5

Truncate

Truncate at 5 lines with ellipsis

noTruncate

Truncate

Remove truncation

truncate

Truncate

Single line truncation with ellipsis

filled

Variant

Filled variant - solid background with contrasting text color

ghost

Variant

Ghost variant - transparent background, no border, appearance-colored text, tinted hover background

outline

Variant

Outline variant - transparent background with border and colored text (default)

Layout & utility props (gap, padding, hide, items, justify, ...) — documented on Common Props
PropCategoryDefaultDescription
cursorDefault

Cursor

Default cursor - standard arrow

cursorMove

Cursor

Move cursor - indicates draggable element

cursorNone

Cursor

No cursor - hides the cursor

cursorNotAllowed

Cursor

Not-allowed cursor - indicates disabled state

cursorPointer

Cursor

Pointer cursor - indicates clickable element

cursorText

Cursor

Text cursor - indicates selectable text

cursorWait

Cursor

Wait cursor - indicates loading/processing

block

Display

Block display - takes full width, new line

contents

Display

Contents display - element's box is removed, children display as if parent didn't exist

flex

Display

Flex display - flexbox container

grid

Display

Grid display - CSS grid container

hidden

Display

Hidden display - element is not visible

inline

Display

Inline display - flows with text

inlineBlock

Display

Inline-block display - inline but with block properties

inlineFlex

Display

Inline-flex display - inline flexbox container

inlineGrid

Display

Inline-grid display - inline grid container

table

Display

Table display - behaves like table element

tableCell

Display

Table-cell display - behaves like td element

hAuto

Height

Set height to auto

hFit

Height

Set height to fit-content

hFull

Height

Set height to 100%

hScreen

Height

Set height to 100vh (viewport height), removes max-height constraint

desktopHide

Hide

Hide element on desktop devices and below (max-desktop: 80rem)

mobileHide

Hide

Hide element on mobile devices and below (max-mobile: 48rem)

tabletHide

Hide

Hide element on tablet devices and below (max-tablet: 64rem)

itemsBaseline

Items

Align items to baseline

itemsCenter

Items

Align items to center

itemsEnd

Items

Align items to end (bottom/right)

itemsStart

Items

Align items to start (top/left)

itemsStretch

Items

Stretch items to fill container

justifyAround

Justify

Distribute items with space around them

justifyBaseline

Justify

Align items along their baseline on main axis

justifyBetween

Justify

Distribute items with space between them

justifyCenter

Justify

Center items along the main axis

justifyEnd

Justify

Pack items toward the end of the main axis

justifyEvenly

Justify

Distribute items with equal space around them

justifyStart

Justify

Pack items toward the start of the main axis

justifyStretch

Justify

Stretch items to fill the main axis

overflowAuto

Overflow

Auto overflow - show scrollbars if needed

overflowClip

Overflow

Clip overflow - hard clip without scrollbars

overflowHidden

Overflow

Hidden overflow - clip content without scrollbars

overflowScroll

Overflow

Scroll overflow - always show scrollbars

overflowVisible

Overflow

Visible overflow - content extends beyond bounds

overflowXAuto

Overflow

Auto overflow on X-axis only

overflowXClip

Overflow

Clip overflow on X-axis only

overflowXHidden

Overflow

Hidden overflow on X-axis only

overflowXScroll

Overflow

Scroll overflow on X-axis only

overflowXVisible

Overflow

Visible overflow on X-axis only

overflowYAuto

Overflow

Auto overflow on Y-axis only

overflowYClip

Overflow

Clip overflow on Y-axis only

overflowYHidden

Overflow

Hidden overflow on Y-axis only

overflowYScroll

Overflow

Scroll overflow on Y-axis only

overflowYVisible

Overflow

Visible overflow on Y-axis only

absolute

Position

Absolute positioning

fixed

Position

Fixed positioning

relative

Position

Relative positioning

static

Position

Static positioning

sticky

Position

Sticky positioning

responsive

Responsive

Enable responsive sizing - uses breakpoint-specific classes for font size, padding, and gap

wAuto

Width

Set width to auto

wFit

Width

Set width to fit-content

wFull

Width

Set width to 100%

wScreen

Width

Set width to 100vw (viewport width), removes max-width constraint

More in Typography Components