Skip to content

Typography

The type roles shipped by @workflowbuilder/ui as wb-text-* utility classes.

@workflowbuilder/ui ships the type scale as utility classes: one class per text style, named wb-text-{family}-{size} with an optional -emphasized suffix. A class carries the complete style — family, size, weight, and line-height — so text never hard-codes font values.

<h2 class="wb-text-headline-m">Workflow settings</h2>
<p class="wb-text-body-m">Configure how each node runs.</p>
<span class="wb-text-label-l-emphasized">Connection: active</span>

Two typefaces ship with @workflowbuilder/ui itself (via the root import; subpath-only consumers load them independently): Poppins for the display, headline, title, body, label, and node roles, and Inter for wb-text-code. The wb-text-code-mono role uses a fixed-width system stack. Emphasized maps to SemiBold (600), Regular to 400.

FamilyUsed forClasses (wb-text-…)px
DisplayHero moments, big empty statesdisplay-s · display-m · display-l24 · 28 · 32
HeadlinePage titles, major sectionsheadline-s · headline-m · headline-l20 · 22 · 24
TitleCard titles, group labelstitle-s · title-m · title-l14 · 16 · 18
BodyRunning text, descriptionsbody-s · body-m · body-l12 · 14 · 16
LabelButtons, chips, captionslabel-s · label-m · label-l · label-xl10 · 12 · 14 · 16
NodeCanvas node and port labelsnode-s · node-m · node-l11 · 13 · 16
UI/CodeCode, token names, IDscode (Regular only)12
UI/MonoFixed-width editor contentcode-mono (Regular only)12

Every family except UI/Code and UI/Mono doubles with an -emphasized variant (wb-text-title-m-emphasized), for 40 styles total.

wb-text-code is proportional Inter. Use wb-text-code-mono for editors whose cursor model requires fixed-width glyphs.

Which role to reach for:

ContextRecommended role
Page / hero titledisplay-* or headline-l
Major section headingheadline-s/-m or title-l
Card or group titletitle-s/-m
Running text and descriptionsbody-m (body-s for dense UI)
Captions, helper text, metadatalabel-m/-l
Buttonslabel-l-emphasized
Chips (every size)label-s
Canvas node and port labelsnode-s/-m
Code, token names, IDscode
Fixed-width editor contentcode-mono

Class font sizes reference the --wb-ds-font-size-* primitives (wb/font-size/NNN in Figma, where NNN ≈ px × 12.5, truncated; the CSS values are rem). Until the token export ships them through @workflowbuilder/ui/tokens.css, the classes define these primitives themselves — the migration swaps the source without touching consumers.