Skip to content

fix(ui): position mosaic link button underline from the font metric - #9796

Merged
maxyinger merged 4 commits into
mainfrom
max/button-polish
Sep 17, 2026
Merged

maxyinger merged 4 commits into
mainfrom
max/button-polish

Conversation

@maxyinger

@maxyinger maxyinger commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

Description

small update to use from-font vs 2px offset for link buttons. I think skip ink auto is already the browser default, but just added in there to be more explicit.

visual change isn't much if anything, but makes this much more resilient to people using other fonts vs hardcoding 2px for offset

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
clerk-js-sandbox Ready Ready Preview Sep 17, 2026 6:12pm UTC
swingset Ready Ready Preview Sep 17, 2026 6:12pm UTC

Request Review

@changeset-bot

changeset-bot Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 446c028

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@clerk/mosaic Patch
@clerk/swingset Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Team

Run ID: 1d7863d1-e31f-4e06-98f7-bbd6ff889812

📥 Commits

Reviewing files that changed from the base of the PR and between ed222b7 and 446c028.

📒 Files selected for processing (2)
  • .changeset/button-link-underline-from-font.md
  • packages/mosaic/src/components/button/button.styles.ts
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)
  • clerk/cli (auto-detected)
  • clerk/clerk-ios (auto-detected)
  • clerk/clerk-android (auto-detected)

Included review availability: 9 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour.


📝 Walkthrough

Walkthrough

The three link button variants replace the fixed 2px underline offset with textDecorationSkipInk: 'auto' and textUnderlinePosition: 'from-font'. A patch changeset documents the update.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: alexcarpenter

Merge Risk: ⚪ Minimal · up to 446c0

The PR only adjusts link underline rendering and documents the change; no actionable production risk is evidenced.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: Mosaic link button underlines now use font metrics instead of a fixed offset.
Description check ✅ Passed The description accurately explains the underline positioning change, its purpose, and its expected visual impact.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9796

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9796

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9796

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9796

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9796

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9796

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9796

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9796

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9796

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9796

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9796

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9796

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9796

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9796

@clerk/mosaic

npm i https://pkg.pr.new/@clerk/mosaic@9796

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9796

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9796

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9796

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9796

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9796

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9796

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9796

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9796

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9796

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9796

commit: 446c028

@alexcarpenter alexcarpenter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL!

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@maxyinger
maxyinger marked this pull request as ready for review September 17, 2026 20:38
@maxyinger
maxyinger enabled auto-merge (squash) September 17, 2026 20:38
@maxyinger
maxyinger merged commit f626fae into main Sep 17, 2026
70 of 82 checks passed
@maxyinger
maxyinger deleted the max/button-polish branch September 17, 2026 20:44

This branch was successfully deployed

2 active deployments
Preview – swingset — 446c028f Deployed Sep 17, 2026 by vercel[bot]
Preview – clerk-js-sandbox — 446c028f Deployed Sep 17, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants