Exact size/weight/line-height combos now use existing @themetext-{size}-{role} utilities (text-small-label, text-medium-paragraph, etc.) instead of hardcoded font-inter text-[Npx] font-medium leading-[…].
Inter stays the body default via --font-inter. No tokens were added or changed in app/tailwind.css. Unmappable combos stay hardcoded for design review.
Includes Button / MenuItem / NavigationItem fontStyles
Changes
Mapped exact combos onto token classes across cards, sections, navigation, modals, controls, create-flow, profile, and marketing.
Dropped redundant font-inter where Inter is already the body font; kept font-bricolage-grotesque / font-space-grotesk / font-sans where family is not Inter.
Button medium → text-small-label (14/16/500), matching the CSS token, not Figma Small/Label 14/18.
Counts in app/ (excluding tailwind.css family decls):
Ticket baseline
After batch 1
This PR
Token typography classes
~30 / 6 files
57
226 / 71 files
font-inter utilities
210
149
0
text-[Npx]
209
175
64 (justified leftovers)
How to Test
npx tsc --noEmit — clean.
npx vitest run — 200 files / 1264 tests passed.
npx next build — compiled successfully.
Storybook visual pass (the merge gate): Button, Rule, Footer, Accordion, QuoteBlock, ContentBanner, create-flow footer, Alert, Chip, Select/Text inputs. Check sm / md / lg / xl.
Notes
Unmappable leftovers (do not invent tokens):
14/18/500 Inter (Figma Small/Label vs CSS small-label 14/16) — Alert S titles, Accordion S title + M subhead, AddCustomField, CustomMethodCard wizard, TextBlock, Incrementer, Checkbox/Radio, TripleStep CTA below md.
12/16/500 — TextInput small label, Toggle label.
14/20/500 — TextInput medium label, SelectInput / InputWithCounter labels.
12/12/500 — ToggleGroup.
No 32px display token — ContentContainer / ContentBanner / RelatedArticles / ContentLockup / PageHeader / TripleTextBlock still use text-[32px] at some breakpoints.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
Exact size/weight/line-height combos now use existing
@themetext-{size}-{role}utilities (text-small-label,text-medium-paragraph, etc.) instead of hardcodedfont-inter text-[Npx] font-medium leading-[…].Inter stays the body default via
--font-inter. No tokens were added or changed inapp/tailwind.css. Unmappable combos stay hardcoded for design review.Includes Button / MenuItem / NavigationItem
fontStylesChanges
font-interwhere Inter is already the body font; keptfont-bricolage-grotesque/font-space-grotesk/font-sanswhere family is not Inter.text-small-label(14/16/500), matching the CSS token, not Figma Small/Label 14/18.Counts in
app/(excludingtailwind.cssfamily decls):font-interutilitiestext-[Npx]How to Test
npx tsc --noEmit— clean.npx vitest run— 200 files / 1264 tests passed.npx next build— compiled successfully.sm/md/lg/xl.Notes
Unmappable leftovers (do not invent tokens):
small-label14/16) — Alert S titles, Accordion S title + M subhead, AddCustomField, CustomMethodCard wizard, TextBlock, Incrementer, Checkbox/Radio, TripleStep CTA belowmd.text-[32px]at some breakpoints.lg; ContentLockup description ramps 16/140% → 18/150% → 20/160%.text-[16px] md:text-[14px](iOS Safari focus-zoom), Chip×glyphtext-[10px],--font-interwiring.