Skip to content
nexubDesign System
v2.4.0

Foundations

Typography

Nexub uses Inter for interface text and Plus Jakarta Sans for display and headline text (--font-family-display; headings use it by default). Both ship with @nexub/themes: importing @nexub/themes/base self-hosts the variable fonts (Inter with its optical-size axis; both normal and italic), so every app gets them with no extra setup. Code uses the monospace stack in --font-family-mono. On React Native, nexubFonts loads the same families as static weights.

Type roles

Use roles, not sizes: className="text-title-md" sets size, line height, tracking and weight together. Headings (h1–h6) default to the display face with text-wrap: balance; numbers in data use tabular-nums.

display-lgThe quick brown fox
display-mdThe quick brown fox
display-smThe quick brown fox
headline-lgThe quick brown fox
headline-mdThe quick brown fox
headline-smThe quick brown fox
title-lgThe quick brown fox
title-mdThe quick brown fox
title-smThe quick brown fox
body-lgThe quick brown fox
body-mdThe quick brown fox
body-smThe quick brown fox
label-lgThe quick brown fox
label-mdThe quick brown fox
label-smThe quick brown fox

Font families

--font-family-sansInter: the interface typeface
--font-family-displayPlus Jakarta Sans: display and headlines
--font-family-monoMonospace: for code and data

Font weights

--font-weight-regular

400: Regular

--font-weight-medium

500: Medium

--font-weight-semibold

600: Semibold

--font-weight-bold

700: Bold

--font-weight-extrabold

800: Extrabold