Support secondary text on Combobox options - #3866
Open
rossnelson wants to merge 1 commit into
Open
Conversation
Adds an optional description to ComboboxOption, rendered as a secondary line beneath the label, and an optionDescriptionKey prop on Combobox to supply it per option for custom (object) options. MenuItem already renders a styled description line, so this threads the existing primitive through rather than adding new rendering. Filtering continues to match the label only. Closes FE-435
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
rossnelson
marked this pull request as ready for review
August 27, 2026 17:56
rossnelson
enabled auto-merge (squash)
August 27, 2026 17:56
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.
Adds an optional secondary line to combobox options, so an option can carry disambiguating context beneath its label.
What changed
ComboboxOptiontakes an optionaldescription, passed straight through toMenuItem.Comboboxtakes an optionaloptionDescriptionKeyfor custom (object) options, mirroring the existingoptionValueKey/optionLabelKeypair. String options don't accept it — there's nothing to derive it from.Custom Options With Descriptionsstory.MenuItemalready renders a styleddescriptionline (.menu-item-description), so this threads the existing primitive through rather than introducing new rendering. Styling, spacing and truncation come along for free.Decisions worth a look
getDisplayValueas the single source of what a user is typing against. The new story asserts it, so if we ever want description-aware filtering it'll be a deliberate change with a failing test to update.MenuItem(description) rather than something likesecondaryText, so the prop means the same thing at both layers.Verification
pnpm check— 0 errorspnpm test -- --run— 3026 passedtest-storybookscoped to Combobox — 15/15 play tests pass, no accessibility violationsContext
Needed by FE-224 (namespace description in the cloud-ui namespace selector), but useful on its own. Tracked as FE-435.
Draft until reviewed — cloud-ui can't consume it until it's packed.
Note:
fix/combobox-hint-textalso touchescombobox.svelteandcombobox.stories.svelte. Different concern (hint text under the input), but worth landing in a deliberate order.