Skip to content

Typography Presets

Pre-built typography classes that combine font size, line height, letter spacing, font family, and font weight for consistent text styling throughout the design system.

Headings

Heading styles for page titles, section headers, and content hierarchy.

Class NameDescriptionFont SizeLine HeightLetter SpacingFont WeightSample
.spr-heading-xlExtra large headingspr-font-size-900spr-line-height-1000spr-letter-spacing-densestspr-font-mediumHeading XL
.spr-heading-lgLarge headingspr-font-size-800spr-line-height-900spr-letter-spacing-denserspr-font-mediumHeading Large
.spr-heading-mdMedium headingspr-font-size-700spr-line-height-800spr-letter-spacing-denserspr-font-mediumHeading Medium
.spr-heading-smSmall headingspr-font-size-600spr-line-height-700spr-letter-spacing-densespr-font-mediumHeading Small
.spr-heading-xsExtra small headingspr-font-size-500spr-line-height-600spr-letter-spacing-densespr-font-mediumHeading XS

Subheadings

Subheading styles for section divisions and content organization.

Class NameDescriptionFont SizeLine HeightLetter SpacingFont WeightSample
.spr-subheading-smSmall subheadingspr-font-size-400spr-line-height-500spr-letter-spacing-densespr-font-mediumSubheading Small
.spr-subheading-xsExtra small subheadingspr-font-size-300spr-line-height-400spr-letter-spacing-normalspr-font-mediumSubheading XS

Body Text

Body text styles for paragraphs, descriptions, and general content.

Base Body Classes

Class NameDescriptionFont SizeLine HeightSample
.spr-body-lgLarge body text basespr-font-size-400spr-line-height-600Large body text
.spr-body-mdMedium body text basespr-font-size-300spr-line-height-500Medium body text
.spr-body-smSmall body text basespr-font-size-200spr-line-height-400Small body text
.spr-body-xsExtra small body text basespr-font-size-100spr-line-height-300Extra small body text

Body Text with Font Weight Variations

Large Body Text

Class NameFont WeightDecorationSample
.spr-body-lg-regularNormal-Regular large text
.spr-body-lg-regular-underlineNormalUnderlinedUnderlined regular large text
.spr-body-lg-regular-mediumMedium-Medium weight large text
.spr-body-lg-medium-underlineMediumUnderlinedUnderlined medium large text

Medium Body Text

Class NameFont WeightDecorationSample
.spr-body-md-regularNormal-Regular medium text
.spr-body-md-regular-underlineNormalUnderlinedUnderlined regular medium text
.spr-body-md-regular-mediumMedium-Medium weight medium text
.spr-body-md-medium-underlineMediumUnderlinedUnderlined medium medium text

Small Body Text

Class NameFont WeightDecorationSample
.spr-body-sm-regularNormal-Regular small text
.spr-body-sm-regular-underlineNormalUnderlinedUnderlined regular small text
.spr-body-sm-regular-mediumMedium-Medium weight small text
.spr-body-sm-medium-underlineMediumUnderlinedUnderlined medium small text

Extra Small Body Text

Class NameFont WeightDecorationSample
.spr-body-xs-regularNormal-Regular extra small text
.spr-body-xs-regular-underlineNormalUnderlinedUnderlined regular extra small text
.spr-body-xs-regular-mediumMedium-Medium weight extra small text
.spr-body-xs-medium-underlineMediumUnderlinedUnderlined medium extra small text

Labels

Label styles for form inputs, UI components, and small text elements.

Base Label Classes

Class NameDescriptionFont SizeLine HeightLetter SpacingSample
.spr-label-smSmall label basespr-font-size-200spr-line-height-200spr-letter-spacing-wideSMALL LABEL
.spr-label-xsExtra small label basespr-font-size-100spr-line-height-100spr-letter-spacing-wideXS LABEL

Label Font Weight Variations

Small Labels

Class NameFont WeightSample
.spr-label-sm-regularNormalREGULAR SMALL LABEL
.spr-label-sm-mediumMediumMEDIUM SMALL LABEL

Extra Small Labels

Class NameFont WeightSample
.spr-label-xs-regularNormalREGULAR XS LABEL
.spr-label-xs-mediumMediumMEDIUM XS LABEL

Supporting Utilities

Font Size Classes

Class NameUnderlying Class
.spr-font-size-100spr-text-100
.spr-font-size-200spr-text-200
.spr-font-size-300spr-text-300
.spr-font-size-400spr-text-400
.spr-font-size-500spr-text-500
.spr-font-size-600spr-text-600
.spr-font-size-700spr-text-700
.spr-font-size-800spr-text-800
.spr-font-size-900spr-text-900
.spr-font-size-1000spr-text-1000

Line Height Classes

Class NameUnderlying Class
.spr-line-height-nonespr-leading-none
.spr-line-height-100spr-leading-100
.spr-line-height-200spr-leading-200
.spr-line-height-300spr-leading-300
.spr-line-height-400spr-leading-400
.spr-line-height-500spr-leading-500
.spr-line-height-600spr-leading-600
.spr-line-height-700spr-leading-700
.spr-line-height-800spr-leading-800
.spr-line-height-900spr-leading-900
.spr-line-height-1000spr-leading-1000

Letter Spacing Classes

Class NameUnderlying Class
.spr-letter-spacing-nonespr-tracking-spacing-none
.spr-letter-spacing-densestspr-tracking-spacing-densest
.spr-letter-spacing-denserspr-tracking-spacing-denser
.spr-letter-spacing-densespr-tracking-spacing-dense
.spr-letter-spacing-normalspr-tracking-spacing-normal
.spr-letter-spacing-widespr-tracking-spacing-wide
.spr-letter-spacing-widerspr-tracking-spacing-wider
.spr-letter-spacing-widestspr-tracking-spacing-widest

Examples

html
<!-- Page hierarchy -->
<h1 class="spr-heading-xl spr-text-color-strong">Main Page Title</h1>
<h2 class="spr-heading-lg spr-text-color-base">Section Title</h2>
<h3 class="spr-subheading-sm spr-text-color-supporting">Subsection</h3>

<!-- Content blocks -->
<p class="spr-body-lg-regular spr-text-color-base">
  This is the main content paragraph with larger text for better readability.
</p>

<p class="spr-body-md-regular spr-text-color-base">This is standard body text for most content.</p>

<p class="spr-body-sm-regular spr-text-color-weak">This is smaller text for secondary information or captions.</p>

<!-- Form labels -->
<label class="spr-label-sm-medium spr-text-color-strong">FORM FIELD LABEL</label>
<input type="text" class="spr-body-md-regular" />

<!-- Interactive elements -->
<a href="#" class="spr-body-md-regular-medium spr-text-color-brand-base hover:spr-text-color-brand-hover">
  Link with medium weight
</a>

<a href="#" class="spr-body-md-regular-underline spr-text-color-brand-base"> Underlined link </a>

<!-- Status messages -->
<div class="spr-body-sm-regular spr-text-color-success-base">Success message in small text</div>

<div class="spr-body-xs-regular spr-text-color-danger-base">Error caption or small warning text</div>

Best Practices

  • Use semantic hierarchy: Start with spr-heading-xl for main titles and work down
  • Maintain consistency: Use the same text styles for similar content types
  • Combine with color utilities: Pair typography classes with semantic text colors
  • Consider accessibility: Ensure sufficient contrast between text and background colors
  • Mobile responsiveness: Consider smaller sizes on mobile devices