Skip to content

feat(frontend): Heading/Typography primitives and migrate renewed surfaces#492

Merged
yu23ki14 merged 1 commit into
v3from
worktree-issue/491
May 11, 2026
Merged

feat(frontend): Heading/Typography primitives and migrate renewed surfaces#492
yu23ki14 merged 1 commit into
v3from
worktree-issue/491

Conversation

@yu23ki14

Copy link
Copy Markdown
Member

Summary

  • Add Heading and Typography primitives under app/components/ui/ (with Ladle stories) so every renewed surface declares font size via a variant instead of inline text-[…] classes.
  • Route every <h*> / <p> in the renewed composite/, layout/, and routes (_index, login, signup via AuthHero, workspace._index, workspace.new via AuthHero / shared components) through the new primitives. Font-size Tailwind classes on the migrated call sites are gone.

Closes #491.

Notes

Test plan

  • Browse Ladle: confirm UI / Heading and UI / Typography stories render the full variant ladder.
  • pnpm frontend dev and visually verify landing (/), login (/login), signup (/signup), workspace list (/workspace), workspace create (/workspace/new) — copy hierarchy should be unchanged.
  • Spot-check composite Ladle stories (Row, EmptyState, StatCard, SummaryRow, ToggleRow, WeightBar, WorkspaceCard, SectionLabel, FieldLabel).
  • Confirm AppHeader, ScreenHeader, TopBar, Sidebar, AccountMenu, WorkspaceSwitcherMenu render correctly across mobile + desktop breakpoints.

🤖 Generated with Claude Code

…enewed surfaces (#491)

Adds two CVA-based primitives under `app/components/ui/` and routes every
`<h*>` / `<p>` in the renewed composite, layout, and route surfaces
through them so font scale lives in one place instead of being copied
across call sites as `text-[15px]`, `text-2xl`, `text-[clamp(...)]`,
etc.

Heading variants: display / hero / h1 / h2 / h3 / h4 / h5 / h6 /
eyebrow, with a `level` prop that decouples semantic level from visual
size. Typography variants: display / statLg / statMd / lead / body /
bodySm / caption / micro / label / mono, with `tone`, `weight`,
`truncate`, and `as` props.

Out of scope: the old-Chakra `$treeId._index.tsx` (renewed copy is WIP
on #433 and will be migrated as part of that PR) and the rest of the
unrenewed routes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@yu23ki14 yu23ki14 changed the base branch from main to v3 May 11, 2026 12:25
@yu23ki14 yu23ki14 merged commit 76dd313 into v3 May 11, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Phase 3] Heading / Typography プリミティブの導入と既存刷新済みコードへの移行

1 participant