Refactored chooser-multiple to support valueKey, invalid options, and placeholder.