Skip to content

[spike] Tabbed SelectPanel on the experimental composable SelectPanel#7967

Draft
joshfarrant wants to merge 3 commits into
mainfrom
joshfarrant/selectpanel-today-baseline
Draft

[spike] Tabbed SelectPanel on the experimental composable SelectPanel#7967
joshfarrant wants to merge 3 commits into
mainfrom
joshfarrant/selectpanel-today-baseline

Conversation

@joshfarrant

@joshfarrant joshfarrant commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Draft — not for merge. Part of a spike comparing how a tabbed SelectPanel (Branches / Tags, one shared search) gets built across Primer's APIs. Same task, same model (Opus 4.8); the API is the only variable:


Builds the same picker on the experimental composable SelectPanel (@primer/react/experimental). The list lives inside the tab panel, so the tab→tabpanel→listbox relationship is real. ~165 lines, of which ~35 are glue that exists only because the layering is incomplete: hand-rolled Tab/TabList/TabPanel wrappers, a ref type cast, manual per-tab counts, and the API being filed under "experimental/deprecated".

See packages/react/src/SelectPanel/examples/RefPicker.tsx. This is the "correct, but with glue" middle of the comparison.

Build a reusable git-style reference picker on top of the experimental
composable SelectPanel (v2) and the experimental Tabs primitive. One shared
search box filters the active tab's list, each tab shows a live result count,
and single selection closes the panel and updates the anchor button.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Jun 10, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 826713a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@github-actions github-actions Bot added the integration-tests: recommended This change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpm label Jun 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Action required

👋 Hi, this pull request contains changes to the source code that github/github-ui depends on. If you are GitHub staff, test these changes with github/github-ui using the integration workflow. Check the integration testing docs for step-by-step instructions. Or, apply the integration-tests: skipped manually label to skip these checks.

To publish a canary release for integration testing, apply the Canary Release label to this PR.

@primer

primer Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

🤖 Lint issues have been automatically fixed and committed to this PR.

@github-actions github-actions Bot temporarily deployed to storybook-preview-7967 June 10, 2026 13:15 Inactive
@primer

primer Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

🤖 Lint and formatting issues have been automatically fixed and committed to this PR.

@github-actions github-actions Bot requested a deployment to storybook-preview-7967 June 10, 2026 13:22 Abandoned
@primer

primer Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

🤖 Lint issues have been automatically fixed and committed to this PR.

@joshfarrant joshfarrant changed the title [spike] Tabbed SelectPanel built with today's Primer (baseline) [spike] Tabbed SelectPanel on the experimental composable SelectPanel Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration-tests: recommended This change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant