Skip to content

[filter menu][filter select] Add filterable menu and select components - #5490

Draft
jjenzz wants to merge 46 commits into
mui:masterfrom
jjenzz:codex/filterable-menu-standalone
Draft

[filter menu][filter select] Add filterable menu and select components#5490
jjenzz wants to merge 46 commits into
mui:masterfrom
jjenzz:codex/filterable-menu-standalone

Conversation

@jjenzz

@jjenzz jjenzz commented Aug 13, 2026

Copy link
Copy Markdown
Member

Adds dedicated FilterMenu and FilterSelect entry points for trigger-first popups that filter existing Menu and Select collections.

FilterSelect is the v1 replacement for the Select-style Combobox “input inside popup” pattern, including multiple selection. It does not replace editable/input-first Comboboxes or token-field/chip presentation.

Changes

  • Adds separate FilterMenu and FilterSelect entry points (instead of expanding the plain Menu and Select APIs with filtering props).
  • Supports labels, keywords, controlled/uncontrolled queries, and custom filters. FilterSelect custom filters receive the original item data.
  • Preserves Menu action patterns, groups, and submenus, with virtual-focus handling.
  • Documents the component boundary and removes the superseded Combobox input-inside-popup example.

Preview

@netlify

netlify Bot commented Aug 13, 2026

Copy link
Copy Markdown

Deploy Preview for base-ui ready!

Name Link
🔨 Latest commit d774d97
🔍 Latest deploy log https://app.netlify.com/projects/base-ui/deploys/6a840596ee94fd00088a5a68
😎 Deploy Preview https://deploy-preview-5490--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.

@code-infra-dashboard

code-infra-dashboard Bot commented Aug 13, 2026

Copy link
Copy Markdown

Bundle size

Bundle Parsed size Gzip size
@base-ui/react 🔺+6.83KB(+1.51%) 🔺+2.3KB(+1.55%)

Details of bundle changes

Performance

Total duration: 1,095.78 ms -170.46 ms(-13.5%) | Renders: 92 (+0) | Paint: 1,792.86 ms -321.88 ms(-15.2%)

Test Duration Renders
Scroll Area mount (300 instances) 66.82 ms ▼-18.06 ms(-21.3%) 3 (+0)
Dialog mount (300 instances) 22.92 ms ▼-12.38 ms(-35.1%) 1 (+0)
Select open (500 options) 46.12 ms ▼-11.67 ms(-20.2%) 14 (+0)
Combobox open — 500 items 26.08 ms ▼-10.04 ms(-27.8%) 4 (+0)

11 tests within noise — details


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

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 13, 2026
@jjenzz
jjenzz force-pushed the codex/filterable-menu-standalone branch 2 times, most recently from 634315d to a04a95b Compare August 13, 2026 20:31
@jjenzz jjenzz added the type: new feature Expand the scope of the product to solve a new problem. label Aug 13, 2026
@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 13, 2026
@pkg-pr-new

pkg-pr-new Bot commented Aug 13, 2026

Copy link
Copy Markdown

commit: d774d97

@jjenzz
jjenzz force-pushed the codex/filterable-menu-standalone branch from ce850d8 to 00bedbc Compare August 13, 2026 21:59
@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 17, 2026
@atomiks atomiks changed the title [filter-menu][filter-select] New filterable comps (wip) [filter menu][filter select] Add filterable menu and select components Aug 18, 2026
atomiks and others added 24 commits August 18, 2026 16:58
Move submenu entry, exit, and focus-return behaviour into `MenuSubmenuRoot` so `Menu` owns cross-list coordination. Keep `useListNavigation` generic and focused on navigation within a single list, with explicit data-down/actions-up boundaries and one source of truth for submenu focus restoration.
@atomiks
atomiks force-pushed the codex/filterable-menu-standalone branch from 3715077 to d774d97 Compare August 18, 2026 07:11
@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 18, 2026
@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 19, 2026
@jjenzz jjenzz added poc and removed experiments labels Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

poc PR: out-of-date The pull request has merge conflicts and can't be merged. 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.

2 participants