- Look into package size reduction, extract optional modules, e.g
- createFilter could be optional, saving 2.6k gz
- vendor simple Menu by default, allow opt-in to advanced usage
- Bind getStyles for each component
- Review how the
requiredstate of the<input>can be handled - Example of how to implement Separators
- Handle Header and Footer elements in the Menu
- Keyboard focusing of values in multi select
-
backspaceToRemoveMessageinvestigate -
classNameinvestigate might need to move the className util into commonProps -
openOnClick/openOnFocusneeds implementation -
required||| this has some complex behaviour in v1 which may or may not be needed -
tabIndexneeds implementation
-
id -
inputIdfalls back toreact-select-${props.instanceId}-input -
autoBlurREMOVED can be handled withonChange -
autosizeREMOVED can replace<Input />component -
onClose-->onMenuClose -
onOpen-->onMenuOpen -
onBlurResetsInput/onCloseResetsInput/onSelectResetsInputREMOVED now thatinputValuecan be controlled, these should be unnecessary -
onMenuScrollToBottomimplemented -
clearable-->isClearable -
rtl-->isRTL -
pageSize -
menuShouldScrollIntoView -
searchable-->isSearchable -
resetValueREMOVED can be handled withonInputChange -
clearAllText/clearValueTextREMOVED title no longer applied, can replace<ClearIndicator />
-
autoLoadinvestigate should be considered in conjunction withsearchPromptText, may affectdefaultOptionsbehaviour -
searchPromptTextinvestigate how do we know to display it? (https://goo.gl/PLTwV5)
- Virtualisation
- Prevent values from being popped, was
option.clearableValue === false - Async w/ pagination
- Extention point to reorder / change menu options array when it's created
- Reordering of Options (drag and drop)
- Tags mode (Creatable)
- Handle changing of isDisabled prop
- Better mobile support and touch handling
- Better control of flip behaviour
- Scroll the menu into view when it opens
- Handle touch outside (see v1 implementation)
- Review implementation of
isSearchableprop (creates a "fake" input) - Async + Creatable variant
- Cleanup
- Documentation - Props, Customisation
- Upgrade Guide from v1 -> v2
- Lock scrolling on Menu (enable with prop)
- Make inputValue a controllable prop
- Make menuIsOpen a controllable prop
- Finalise theme and style customisation framework
- Remove
disabledKey, clean up similar functionality - Pseudo-focus Options
- Keyboard navigation
- Make
isDisabled/isSelectedetc. props - Scroll to focused option
- Add
autofocusprop - Add HTML Form Input
- Async with:
- * promises
- * better loading state and behaviour
- Pass more (and consistent?) props and state from Select to Components
- Fix issue with how the mouse hover interacts with keyboard scrolling
- Ability to customise built-in strings