refactor(ui): rename Mosaic mergeProps to mergeStyleProps#9236
Conversation
🦋 Changeset detectedLatest commit: 264db12 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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
📝 WalkthroughWalkthroughRenames the Mosaic Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
API Changes Report
Summary
No API Changes DetectedAll packages have stable APIs with no detected changes. Report generated by Break Check Last ran on |
Description
@clerk/headlessand@clerk/ui(Mosaic) each export amergeProps, with different signatures and semantics:mergeProps(a, b)— polymorphic prop merge that chainsonXxxhandlers, shallow-mergesstyle, concatenatesclassName.mergeProps(themeProps(...), stylex.props(...), className, style)— a positional fuser of styling output that concatenatesclassNameand spreadsstyle, and does not chain handlers.Same name, different behavior is a footgun (the handler-chaining difference is the sharp edge). This renames the Mosaic helper to
mergeStyleProps, which describes its actual job (fusingthemeProps+stylex.props+ consumerclassName/style) and ends the overlap.Internal-only: the Mosaic JS is not in any
@clerk/uipackage export path (onlystyles.cssis public), so this is not a public API change. Empty changeset.Checklist
mergeProps->mergeStylePropsinprops.ts, thestyles/index.tsbarrel re-export,button.tsx, andprops.test.ts.pnpm --filter @clerk/ui test src/mosaic/__tests__/props.test.tspasses (13).pnpm --filter @clerk/ui type-checkclean.