Skip to content

Migrate navigation roots to mergeProps - #8298

Draft
joshblack wants to merge 4 commits into
migrate/merge-props-batch-05from
migrate/merge-props-batch-06
Draft

Migrate navigation roots to mergeProps#8298
joshblack wants to merge 4 commits into
migrate/merge-props-batch-05from
migrate/merge-props-batch-06

Conversation

@joshblack

@joshblack joshblack commented Aug 12, 2026

Copy link
Copy Markdown
Member

Part of the ADR-025 prop merging migration.

This PR updates our page and navigation component families to merge component-authored and consumer-authored props through mergeProps. The migration preserves consumer precedence, class names, refs, handlers, and accessibility behavior while removing 45 findings from the migration report.

Changelog

New

  • Add type coverage for attributes controlled by UnderlinePanels.Panel.

Changed

  • Update ActionBar, Breadcrumbs, NavList, PageHeader, Pagehead, SideNav, SplitPageLayout, SubNav, TabNav, UnderlineNav, UnderlinePanels, and UnderlineTabbedInterface to use the ADR-025 prop-merging convention.
  • Update UnderlinePanels.Panel types to exclude attributes that are always controlled by the component.

Removed

  • Remove unsupported aria-labelledby, data-selected, hidden, id, and role attributes from the public UnderlinePanels.Panel TypeScript surface.

Rollout strategy

  • Patch release
  • Minor release
  • Major release; if selected, include a written rollout or migration plan
  • None; if selected, include a brief description as to why

This corrects the public types to match existing runtime behavior. UnderlinePanels already owns each panel's ID, role, visibility, selected state, and accessible relationship.

Testing & Reviewing

  • Review consumer precedence and event composition at each migrated root.
  • Review the controlled UnderlinePanels.Panel attributes and patch changeset.
  • Confirm the mergeProps migration report decreases from 189 findings across 78 files to 144 findings across 66 files.
  • Targeted component tests and the @primer/react type-check pass.

@changeset-bot

changeset-bot Bot commented Aug 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 057b4de

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

This PR includes changesets to release 1 package
Name Type
@primer/react 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

@github-actions github-actions Bot added staff Author is a staff member integration-tests: recommended This change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpm labels Aug 12, 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.

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

Copilot-Session: 84a0d8ca-13d3-4cb2-ab24-18fa2d9a8a14
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 84a0d8ca-13d3-4cb2-ab24-18fa2d9a8a14
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 84a0d8ca-13d3-4cb2-ab24-18fa2d9a8a14
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 84a0d8ca-13d3-4cb2-ab24-18fa2d9a8a14
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 staff Author is a staff member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant