Skip to content

feat(select-search): add SelectSearch and SelectEmpty - #155

Merged
tmccoy14 merged 6 commits into
mainfrom
feat/select-search
Sep 24, 2026
Merged

tmccoy14 merged 6 commits into
mainfrom
feat/select-search

Conversation

@bhavna-Jin

@bhavna-Jin bhavna-Jin commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

What:

Adds a search functionality in the select component similar to the dropdown-menu

Why:

This was done to fix : https://linear.app/eqty-lab/issue/MIC-54/associate-agent-search

screenshot 1:
Screenshot 2026-09-23 at 3 50 08 PM

screenshot 2:

Screenshot 2026-09-23 at 3 50 35 PM

@Shrinks99
Shrinks99 requested a review from tmccoy14 September 23, 2026 20:33
tmccoy14 and others added 4 commits September 24, 2026 08:39
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Select
- SelectSearch is visible and focused on open by default; alwaysVisible={false}
  reveals it on the first keystroke instead.
- Enter in the search box selects the first match, only while a query is active.
- Group labels are hidden rather than unmounted while searching, so SelectGroup's
  aria-labelledby resolves; groups with no matches hide.
- Reopening through a controlled `open` clears the previous search.
- Consumer props can no longer override role, hidden, aria-controls or the
  search data attribute; the forwarded input ref is stable.

DropdownMenu, FilterDropdown, RadioDropdown
- Search state, matching and focus handling now live in lib/list-search.ts,
  shared with Select; match counting is O(1) per item change.
- Enter activates the first match while a query is active.
- A searchable FilterDropdown or RadioDropdown shows its search box on open,
  in place of the menu heading, and names it after `label`.
- FilterDropdown's "Clear all" is now a menu item that keyboard and screen
  reader users can reach: inline in the "Filters" heading without search, a
  sticky footer with it.

Also
- dropdown-search, dropdown-search-input and dropdown-empty theme utilities.
- Component tests for Select, DropdownMenu, FilterDropdown and RadioDropdown,
  and for list-search.
- Docs: keyboard and accessibility notes, props tables in the
  create-documentation format; Select's llms.txt description mentions search.
- Skill: Select with SelectSearch in the name translation table, free-text
  autocomplete listed as a gap.
- 4.3.0 changelog.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@tmccoy14 tmccoy14 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@bhavna-Jin I extended the capabilities to <FilterDropdown /> and <RadioDropdown /> - this is great - thanks 🚀

@tmccoy14
tmccoy14 merged commit 962afa9 into main Sep 24, 2026
1 check passed
@tmccoy14
tmccoy14 deleted the feat/select-search branch September 24, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants