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.
This PR adds a new
OptionButton
component. It is a semi-generalized implementation of the new button we need to satisfy hypothesis/lms#2955I ended up creating a new button that is intended for use "when you might otherwise use a radio button or select element but you need a button instead." In full purity, the set of buttons in the LMS content-selection interface that we're targeting should maybe instead be radio buttons or a select element. But it's impractical to make that big of a change right now, so this component serves as an option-like button.
It takes an optional
details
prop (for content to render at the right edge of the button), aliasesselected
topressed
and otherwise forwards all other non-styling props toButton
. Eh, the pattern-library docs explain this more clearly.I've also updated the pattern-library prototype page for LMS content selection to use this component.