- 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
required
state 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
-
backspaceToRemoveMessage
investigate -
className
investigate might need to move the className util into commonProps -
openOnClick
/openOnFocus
needs implementation -
required
||| this has some complex behaviour in v1 which may or may not be needed -
tabIndex
needs implementation
-
id
-
inputId
falls back toreact-select-${props.instanceId}-input
-
autoBlur
REMOVED can be handled withonChange
-
autosize
REMOVED can replace<Input />
component -
onClose
-->onMenuClose
-
onOpen
-->onMenuOpen
-
onBlurResetsInput
/onCloseResetsInput
/onSelectResetsInput
REMOVED now thatinputValue
can be controlled, these should be unnecessary -
onMenuScrollToBottom
implemented -
clearable
-->isClearable
-
rtl
-->isRTL
-
pageSize
-
menuShouldScrollIntoView
-
searchable
-->isSearchable
-
resetValue
REMOVED can be handled withonInputChange
-
clearAllText
/clearValueText
REMOVED title no longer applied, can replace<ClearIndicator />
-
autoLoad
investigate should be considered in conjunction withsearchPromptText
, may affectdefaultOptions
behaviour -
searchPromptText
investigate 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
isSearchable
prop (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
/isSelected
etc. props - Scroll to focused option
- Add
autofocus
prop - 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