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
closes: #1270
Implements the

multiple
option for Select.Changes the form implementation (SelectBubbleInput) to update the option selected prop, instead of the select value prop. this is how the multiple select maintains the value, instead of having an array implementation in the select value. The single select also supports this, and as shown in the added tests, will still update the form as needed.
Externally, the prop type are more limiting then the HTMLSelectElement as it allows value to be an array on single, and string on multiple, however, react generates an error for these cases.
Internally, not have complex typing and type checks throughout the component, I've elected instead to do some basic checks and assumptions.
I added some basic tests to the Select component. Ideally I would use
userEvent
instead offireEvent
, however, due to the many event handlers and functions missing from jsdom, I've left the tests as very basic tests. Perhaps using vitest browser mode could help with testing the complex components like Select?Thank you for taking a look at this PR. Any and all feedback is welcome!