Skip to content

[tabs] Introduce the LinkTab part#4733

Open
michaldudak wants to merge 14 commits into
mui:masterfrom
michaldudak:linktab
Open

[tabs] Introduce the LinkTab part#4733
michaldudak wants to merge 14 commits into
mui:masterfrom
michaldudak:linktab

Conversation

@michaldudak
Copy link
Copy Markdown
Member

@michaldudak michaldudak commented May 4, 2026

Added the Tabs.LinkTab part to render tabs as <a> elements (or router components wrapping the <a> element).
Removed the previous guidance for rendering anchors with <Tabs.Tab render={<a />} nativeButton={false}>, but this possibility still exists (so it's not a breaking change).

Examples of this pattern in real applications

Preview

Docs: https://deploy-preview-4733--base-ui.netlify.app/react/components/tabs#links
React Router experiment: https://deploy-preview-4733--base-ui.netlify.app/experiments/tabs/react-router-link-tabs

@michaldudak michaldudak requested a review from atomiks as a code owner May 4, 2026 12:12
@michaldudak michaldudak added the component: tabs Changes related to the tabs component. label May 4, 2026
@michaldudak michaldudak added the type: new feature Expand the scope of the product to solve a new problem. label May 4, 2026
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 4, 2026

commit: 2f44492

@code-infra-dashboard
Copy link
Copy Markdown

code-infra-dashboard Bot commented May 4, 2026

Bundle size

Bundle Parsed size Gzip size
@base-ui/react 🔺+1.08KB(+0.23%) 🔺+330B(+0.22%)

Details of bundle changes

Performance

Total duration: 1,251.54 ms ▼-97.33 ms(-7.2%) | Renders: 53 (+0) | Paint: 1,950.18 ms ▼-125.55 ms(-6.0%)

Test Duration Renders
Checkbox mount (500 instances) 72.73 ms 🔺+3.58 ms(+5.2%) 1 (+0)
Tabs mount (200 instances) 221.36 ms ▼-25.09 ms(-10.2%) 4 (+0)
Menu mount (300 instances) 128.88 ms ▼-19.90 ms(-13.4%) 2 (+0)
Select mount (200 instances) 144.34 ms ▼-10.65 ms(-6.9%) 3 (+0)
Mixed surface mount (app-like density) 87.82 ms ▼-10.23 ms(-10.4%) 5 (+0)

…and 7 more — details


Check out the code infra dashboard for more information about this PR.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a973996d4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/react/src/tabs/tab/useTabsTab.ts Outdated
@netlify
Copy link
Copy Markdown

netlify Bot commented May 4, 2026

Deploy Preview for base-ui ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 2f44492
🔍 Latest deploy log https://app.netlify.com/projects/base-ui/deploys/69fdb8d576378d0008ef7358
😎 Deploy Preview https://deploy-preview-4733--base-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown
Member

@mj12albert mj12albert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex review reports that <Tabs.LinkTab target="_blank"> would open in a new browser tab but onTabActivation still runs, causing the "selected tab" to be inaccurate. Same with the download attribute, but I think both seem useless in the context of Tabs, maybe we could omit them from the types

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a0254c2cba

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/react/src/tabs/link-tab/TabsLinkTab.tsx
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 541d92c415

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/react/src/tabs/tab/useTabsTab.ts
@colmtuite
Copy link
Copy Markdown
Contributor

Chill out with this until we discuss more please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: tabs Changes related to the tabs component. type: new feature Expand the scope of the product to solve a new problem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants