Skip to content

feat(mosaic): add user and organization profile providers - #10192

Draft
alexcarpenter wants to merge 2 commits into
carp/mosaic-org-general-panel-sectionsfrom
carp/mosaic-profile-providers
Draft

alexcarpenter wants to merge 2 commits into
carp/mosaic-org-general-panel-sectionsfrom
carp/mosaic-profile-providers

Conversation

@alexcarpenter

@alexcarpenter alexcarpenter commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Description

Moves the profile-level options off the sections and into providers, the same way the legacy composed components handle them.

<UserProfileProvider additionalOAuthScopes={{ google: ['calendar'] }} mode='modal'>
  <UserProfileProfilePanel />
</UserProfileProvider>

<OrganizationProfileProvider afterLeaveOrganizationUrl='/'>
  <OrganizationProfileGeneralPanel />
</OrganizationProfileProvider>
  • New UserProfileProvider (additionalOAuthScopes, mode) and OrganizationProfileProvider (afterLeaveOrganizationUrl). Both are optional. Without them, sections use the defaults: no extra scopes, mounted mode, and the instance's afterLeaveOrganizationUrl.
  • The connected accounts, enterprise accounts and organization danger section models read these from the providers. UserProfileConnectedAccountsSection no longer takes additionalOAuthScopes or mode, UserProfileEnterpriseAccountsSection no longer takes mode, and OrganizationProfileDangerSection no longer takes afterLeaveOrganizationUrl.
  • Panel.Root provides its title as a focus target through usePanelTitle(), and Panel.Title is focusable (tabIndex={-1}) by default. Inside a profile page this resolves to the page title.
  • The connected accounts and web3 wallets sections move focus to the panel title after the last row is removed and the section hides. This works with the default sections and with custom children. fallbackFocus is removed from both sections and their controllers, and titleRef is removed from UserProfileProfilePanelView.
  • Swingset: the live organization danger page uses the provider, the stories and fixtures drop titleRef/fallbackFocus, and the panel docs show the providers.

apiKeysProps and appearance are not included in the providers yet.

Stacked on #10189.

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:

@vercel

vercel Bot commented Oct 9, 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 Oct 14, 2026 9:03pm UTC
swingset Ready Ready Preview Oct 14, 2026 9:03pm UTC

Request Review

@changeset-bot

changeset-bot Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 966c783

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

This PR includes changesets to release 0 packages

When 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

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@pkg-pr-new

pkg-pr-new Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

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

@clerk/backend

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

@clerk/chrome-extension

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

@clerk/clerk-js

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

@clerk/electron

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

@clerk/electron-passkeys

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

@clerk/eslint-plugin

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

@clerk/expo

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

@clerk/expo-biometrics

npm i https://pkg.pr.new/@clerk/expo-biometrics@10192

@clerk/expo-google-signin

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

@clerk/expo-native-components

npm i https://pkg.pr.new/@clerk/expo-native-components@10192

@clerk/expo-passkeys

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

@clerk/express

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

@clerk/fastify

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

@clerk/hono

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

@clerk/localizations

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

@clerk/mosaic

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

@clerk/nextjs

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

@clerk/nuxt

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

@clerk/react

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

@clerk/react-router

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

@clerk/shared

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

@clerk/tanstack-react-start

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

@clerk/testing

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

@clerk/ui

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

@clerk/upgrade

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

@clerk/vue

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

commit: 966c783

This branch was successfully deployed

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant