Repository navigation
Conversation
Moves useNativeSearch from select/utils to internal/components/listbox as useTypeAhead, and renames its useInteractiveGroups option to interactiveGroups. No behavior change.
Merges select/parts/item.tsx and select/parts/multiselect-item.tsx into internal/components/listbox/parts/item.tsx. The row is chosen with selectionType: 'single' renders today's Select row, 'multi' renders today's Multiselect row (checkbox, interactive groups, select-all, afterHeader). render-options passes selectionType instead of picking a component, and the hasCheckbox/checkboxes plumbing is removed because Select never rendered checkboxes and Multiselect always did. Styles still come from select/parts/styles.scss, so class names and test-utils selectors are unchanged. Dev pages: item.permutations maps hasCheckbox to selectionType, and list-with-sticky-item uses selectionType="multi" (it now shows the checkbox every multi row renders).
Moves select/parts/plain-list.tsx (PlainList and SelectListProps) to internal/components/listbox/parts. Select, Multiselect, embedded Multiselect and VirtualList import it from there. No behavior change.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5204 +/- ##
=======================================
Coverage 97.74% 97.74%
=======================================
Files 1000 999 -1
Lines 32328 32325 -3
Branches 11962 11957 -5
=======================================
- Hits 31598 31596 -2
+ Misses 685 684 -1
Partials 45 45 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
amanabiy
marked this pull request as ready for review
October 29, 2026 17:05
amanabiy
requested review from
a team and
cansuaa
and removed request for
a team
October 29, 2026 17:05
amanabiy
commented
Oct 29, 2026
| const { inGroupIndex, groupIndex, throughIndex } = getTestOptionIndexes(option) || {}; | ||
| return { | ||
| ...optionProps, | ||
| hasCheckbox: checkboxes, |
Member
Author
There was a problem hiding this comment.
hasCheckbox is not needed anymore because on last PR I introduced selectionType: 'single' | 'mult'. The multi row always draws the checkbox and the single row never does.
After the checkboxes input was removed, "with keyboard" made the same call with the same expectation as "should return props for the first child in the first group".
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is a follow up of #5179
Moves Select's option row, type-ahead hook and plain list into src/internal/components/listbox/ and has Select and Multiselect use them, with no behavior change.
Related links, issue #, if available: n/a
How has this been tested?
Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness
CONTRIBUTING.md.CONTRIBUTING.md.Security
checkSafeUrlfunction.Testing
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.