feat(mosaic): rework Section into cards with titled headers - #9991
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: dd32ae0 The changes in this PR will be included in the next version bump. This PR includes changesets to release 0 packagesWhen changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types 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 |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Repository guideline files applied to this review (3)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (7)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. 5 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. 📝 WalkthroughWalkthroughThe Section component adds grouped headers and bodies, group-level accessible naming, and list semantics for nested items. User and organization profile sections adopt the updated composition. Tests, stories, and documentation reflect the new structure. The example snippet formatter now handles the final semicolon and aligns continuation lines. Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Suggested reviewers: Merge Risk: ⚪ Minimal · up to The card composition and profile migrations show no established merge-blocking issue. The change is mergeable subject to normal test and build checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 2.70% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 37 functions across 42 files. (1 skipped: 1 unsupported.)
Comment |
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-google-signin
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/mosaic
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
69b7dc5 to
41eba8d
Compare
Section.Group pairs an optional Section.Title with a new Section.Surface that draws the card. Groups take variant='contained' for nested lists, rendered as Section.Header + Section.Items inside the surface, and --cl-section-row-min-height exposes the row height. The account, active devices, and authentication sections render one <section> with contained groups instead of sibling sections. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Every Section.Group is now the card: border, background, and radius move onto it, Section.Surface and the contained variant go away, and the group is named by the Section.Title inside its Section.Header. A new Section.Body wraps the rows or list under the header and draws the divider between them. Section.Items renders a real list. Root loses its title and the gap between cards is a uniform space-8. The public --cl-section-row-min-height token is dropped in favor of a plain value. Every user profile and organization profile section composes the card model; the password, passkeys, and MFA views render a group and let the security panel own the shared root, so asGroup and sectionTitle go. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Title and description stack in the first column, actions sit in the second on the title row, so a header with a description keeps its action on the right and a header without one stays vertically centered. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…itles at base Actions span both header rows when a description follows the title, so they center on the whole block; without one they stay on the title row. Card titles use the base type size at medium weight. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…flat section example Active devices renders one card: the sign-out-all action sits in the header as a ghost button and every device is a list item, current first. The password card gets a "Password" heading and keeps its action in the row. The Section page shows a flat variant restyled from external CSS. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The password card shows its value as a single list item instead of a full-height row, a row's content centers within its minimum height, and the sign-out-all action uses the outline variant like other header actions. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…pace-6 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
41eba8d to
dd32ae0
Compare
Description
Reworks
Sectionto the card model in #9925 and moves every user profile and organization profile section onto it. Supersedes #9911, whose commit this branch carries.Section.Groupis the card: border, background, and radius move onto it, and it is arole='group'named by theSection.Titlein itsSection.Header.Section.Surfaceand thecontainedvariant are gone.Section.Headeris a two-column grid: title and optional description on the left, optional actions on the right, centered on the title block. Card titles use the base type size at medium weight.Section.Bodywraps the rows or list under the header and draws the divider between them;Section.Itemsrenders a realul/lilist.Section.Roothas no title and is not a landmark unless givenaria-label. Cards sit space-8 apart, panel titles sit space-6 above their first card.asGroupandsectionTitleprops are removed.--cl-section-row-min-heighttoken is dropped in favor of a plain value.Flatexample that restyles the cards from external CSS.The changeset is empty because
Sectionis not exported from@clerk/mosaic's public entry.Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change
🤖 Generated with Claude Code