镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

feat(mosaic): rebuild styled Table on the Table primitive - #10421

Draft
alexcarpenter wants to merge 3 commits into
carp/mosaic-table-primitivefrom
carp/mosaic-styled-table
Draft

alexcarpenter wants to merge 3 commits into
carp/mosaic-table-primitivefrom
carp/mosaic-styled-table

Conversation

@alexcarpenter

@alexcarpenter alexcarpenter commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Description

Stacked on #10414. Rebuilds the styled Mosaic Table on the headless Table primitive and moves its consumers over.

  • Table wraps the primitive's parts with Mosaic styles. Table.Root now owns selection, tree expansion, sort and keyboard navigation. Table.Body renders from items with a render function and a renderEmptyState. Table.Column takes width, sortable and rowHeader, replacing HeaderCell and ColumnGroup. SelectionColumn, SelectionCell and ExpandButton need an aria-label, so the copy stays in the features.
  • The API keys table and the members, invitations and requests tabs (with their skeletons) use the new parts. Search and pagination are wired straight from the controller props.
  • useDataTable and useServerDataTable are removed, along with their swingset pages and the AGENTS.md reuse row.
  • The unused sort / onSortChange props on the API keys table are removed. No controller or model passed them; only the swingset fixture did.

Behavior changes:

  • Sorting goes ascending, then flips. A third activation no longer clears it.
  • Selection is held by the primitive and no longer clears on page, search or sort changes.
  • In the members table, rows the user can't manage (including their own) use Row disabled and are now aria-disabled.
  • Actionable rows carry data-actionable instead of data-interactive.

Commits 1 and 2 don't typecheck on their own: the hooks still import old Table types until commit 3, and the members panel uses the old parts until commit 2. The branch head typechecks.

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 26, 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 26, 2026 12:19am UTC
swingset Ready Ready Preview Oct 26, 2026 12:19am UTC

Request Review

@changeset-bot

changeset-bot Bot commented Oct 26, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ba25d67

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 Minor
@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 Oct 26, 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.

This branch was successfully deployed

2 active deployments
Preview – swingset — ba25d675 Deployed Oct 26, 2026 by vercel[bot]
Preview – clerk-js-sandbox — ba25d675 Deployed Oct 26, 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